判断指定年份是否为闰年,insus.net也曾经写过2篇《判断是否是闰年》和
《指定日期,判断其所属年份是否为闰年》
set ansi_nulls on go set quoted_identifier on go -- ============================================= -- author: insus.net -- create date: 2019-07-01 -- update date: 2019-07-01 -- description: 指定年份是否为闰年 -- ============================================= create function [dbo].[svf_isleapyear] ( @year smallint ) returns bit as begin declare @rtv bit = 0 if (@year >= year([dbo].[svf_lowdate]()) and @year <= year([dbo].[svf_highdate]())) and ((@year % 4 = 0 and @year % 100 != 0) or @year % 400 = 0) set @rtv = 1 return @rtv end go
上面函数中,还有另外2个自定义函数,可以参考这篇《ms sql获取最大值或最小值日期的函数》
ms sql 最小年份为1753和最大年份为9999。