mysql-判断年份是否是闰年

业务碰到一个场景,存储过程中需要根据当前年份是否是闰年计算年天数,网上搜索后没有比较简易的做法,思考后做出判断函数如下:

DELIMITER $$

DROP FUNCTION IF EXISTS `fun_is_leap_year`$$

CREATE FUNCTION `fun_is_leap_year`(year_varchar VARCHAR (20)) RETURNS INT(11)
BEGIN
  RETURN (
    CASE
      -- 如果是闰年的2月有29天
      WHEN DAYOFMONTH(
        LAST_DAY(CONCAT(year_varchar, '-02-01'))
      ) = 29 
      THEN 1 
      ELSE 0 
    END
  ) ;
END$$

DELIMITER ;

参数为4位年,判断做法是在4位年后拼上2月1日,然后取当月最后一天,判断是否是29日,如果是那就是闰年,否则不是

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在C语言中判断一个年份是否是闰年,可以使用如下代码: ``` #include <stdio.h> int main() { int year; printf("请输入一个年份:"); scanf("%d", &year); if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { printf("%d年是闰年\n", year); } else { printf("%d年不是闰年\n", year); } return 0; } ``` 这段代码读入了一个年份,然后利用闰年判断规则: - 能被4整除但不能被100整除 - 能被400整除 判断年份是否为闰年,最后输出结果。 ### 回答2: C语言是一种高级编程语言,可以用来编写各种应用程序。要判断一个年份是否是闰年,可以利用C语言提供的逻辑判断和条件语句。 闰年是指能被4整除但不能被100整除的年份,或者能被400整除的年份。因此,我们可以使用条件语句if来判断年份是否是闰年。 以下是一个简单的C语言程序来判断一个年份是否是闰年: #include <stdio.h> int main() { int year; // 从用户输入获取年份 printf("请输入一个年份:"); scanf("%d", &year); // 使用条件语句if判断年份是否是闰年 if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { printf("%d年是闰年。\n", year); } else { printf("%d年不是闰年。\n", year); } return 0; } 首先,我们使用printf函数提示用户输入一个年份,并使用scanf函数从用户输入中获取年份。然后,使用条件语句if判断年份是否满足闰年的条件。如果满足条件,即年份能被4整除但不能被100整除或者能被400整除,就打印输出该年份闰年。如果不满足条件,则打印输出该年份不是闰年。 以上就是用C语言判断年份是否是闰年的简单实现。当然,也可以根据需要对程序进行改进和优化。 ### 回答3: C语言中判断一个年份是否是闰年可以使用以下方式: 1. 通过用户输入获得一个年份。 2. 使用if-else语句对年份进行判断。 3. 判断条件为年份能够被4整除但不能被100整除,或者能够被400整除。 4. 如果满足以上条件,则输出该年份闰年;否则输出该年份不是闰年。 以下是使用C语言编写的判断年份是否是闰年的代码示例: ```c #include <stdio.h> int main() { int year; printf("请输入一个年份: "); scanf("%d", &year); if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { printf("%d年是闰年。\n", year); } else { printf("%d年不是闰年。\n", year); } return 0; } ``` 通过该代码,我们可以根据用户输入年份判断年份是否是闰年,并在控制台输出结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值