-1
我想編寫一個程序來檢查輸入日期是否是閏年。請親自幫助我解決這個問題。輸入日期時檢查閏年的存儲過程
我想編寫一個程序來檢查輸入日期是否是閏年。請親自幫助我解決這個問題。輸入日期時檢查閏年的存儲過程
以下標量函數需要一年的時間,並返回一個位標誌,指示年度過去是否爲閏年。
create function dbo.fn_IsLeapYear (@year int)
returns bit
as
begin
return(select case datepart(mm, dateadd(dd, 1, cast((cast(@year as varchar(4)) + '0228') as datetime)))
when 2 then 1
else 0
end)
end
go
Here are a few examples:
select dbo.fn_IsLeapYear(1900) as 'IsLeapYear?'
select dbo.fn_IsLeapYear(2000) as 'IsLeapYear?'
select dbo.fn_IsLeapYear(2007) as 'IsLeapYear?'
select dbo.fn_IsLeapYear(2008) as 'IsLeapYear?'
說明:
註明日期輸入到您的自定義SQL函數 該函數將在這一年,追加「0228」到它(爲2月28日),每天增加。 如果第二天的月份是2(由DATEPART函數提取),那麼我們仍然在2月份,所以它必須是閏年!如果不是,那不是閏年。
http://sqlservercodebook.blogspot.com/2008/07/sql-server-function-to-determine-leap.html – Tristan
您有試過什麼嗎? – Jorg