SQL 判断闰年

  • Post category:MySQL

在 SQL 中,判断闰年可以使用 CASE WHEN 语句来实现。以下是 SQL 判断闰年的完整攻略,包含两条实例:

  1. 判断单个年份是否为闰年

我们可以使用 CASE WHEN 语句来判断单个年是否为闰年。例如,以下 SQL 语句将判断 2020 年是否为闰年:

SELECT CASE WHEN (2020 % 4 = 0 AND 2020 % 100 != 0) OR 2020 % 400 = 0 THEN '是闰年' ELSE '不是闰年' END AS is_leap_year;

在上述语句中,我们使用 CASE WHEN 语句来判断 2020 年是否为闰年。需要注意的是,我们使用 %算符来计算年份是否为 4 的数和 100 的倍数,以及是否为 400 的倍数。同时,我们使用 THEN 和 ELSE 子句来指定年份是闰年还是不是闰年。

  1. 判断多个年份是否为闰年

我们可以使用 CASE WHEN 语句来判断多个年份是否为闰年。例如,以下 SQL 语句将判断 2020 年、2021 年和 2022 年是否为闰年:

SELECT year, CASE WHEN (year % 4 = 0 AND year % 100 != 0) OR year % 400 = 0 THEN '是闰年' ELSE '不是闰年' END AS is_leap_year FROM (VALUES (2020), (2021), (2022)) AS years(year);

在上述语句中,我们使用 VALUES 子句创建一个包含多个年份的临时表,并使用 CASE WHEN 语句来判断每个年份是否为闰年。需要注意的是,我们在 SELECT 子句中指定年份和是否为闰年的结果,并使用 AS 子句来指结果列的别名。

总之,在 SQL 中,我们可以使用 CASE WHEN 语句来判断单个或多个年份是否为闰年。在判断闰年时,需要使用 % 运算符来计算年份是否为 4 的倍数和 100 的倍数,以及是否为 400 的倍数。同时,需要使用 THEN 和 ELSE 子句来指定年份是闰年还是不是闰年。