2017-03-02 119 views
-1

當我運行下面的代碼時,它認爲在2月有29天,我如何檢查閏年。下面的查詢閏年編程

MyDate between (DateAdd(day,1,EOMONTH(Getdate(),-1))) AND GETDATE() 
+0

對於哪一年?什麼是'GETDATE()'返回? – tadman

+0

2017和getdate正在返回2017年3月1日 –

+0

如果您正確調用EOMONTH函數,則應在2017年2月28日返回該值。 'SELECT EOMONTH(GETDATE(),-1)'返回'2017-02-28'。 'DateAdd'部分是什麼? – tadman

回答

0

用於檢查閏年:

DECLARE @YEAR INT = 2019 
SELECT CASE WHEN (@YEAR % 4 = 0 AND @YEAR % 100 <> 0) OR @YEAR % 400 = 0 THEN 
'LEAP YEAR' ELSE 'NORMAL YEAR' END 
+0

這不能修復'EOMONTH'。 – tadman