1、问题分析
-
在MySQL中,并没有内置的直接用于判断闰年的函数,但是你可以创建一个用户定义的函数(UDF)或者使用SQL表达式来实现这个功能。
-
这里提供一种方法,使用SQL表达式来判断给定年份是否为闰年。闰年的规则是:
能被4整除但不能被100整除的年份是闰年, 或者能被400整除的年份也是闰年。
2、SQL表达式方式
SELECT CASE
WHEN MOD(year, 4) = 0 AND (MOD(year, 100) != 0 OR MOD(year, 400) = 0)
THEN TRUE
ELSE FALSE
END AS is_leap_year
FROM (
SELECT 2024 AS year -- 将这里的2024替换为你想要检查的年份
) AS t;
3、函数方式
DELIMITER //
CREATE FUNCTION IsLeapYear(year INT)
RETURNS BOOLEAN
BEGIN
DECLARE is_leap BOOLEAN;
SET is_leap = ((MOD(year, 4) = 0 AND MOD(year, 100) != 0) OR MOD(year, 400) = 0);
RETURN is_leap;
END;//
DELIMITER ;
//执行
SELECT IsLeapYear(2024); -- 将这里的2024替换为你想要检查的年份