2014-05-20 71 views
0

所以我在我的數據庫中有一個日期字段。它的類型爲「日期」。該字段的值爲2014-05-04(yyyy-dd-mm)。在mssql中比較日期

如何在sql中檢查日期是在今天之前還是之後?

SELECT * FROM table WHERE theDate > GetDate() 

SELECT * FROM table WHERE CAST(theDate as Date) > CAST(GetDate() as Date) 

你如何檢查是否「2014年5月4日」在今天之前:

到目前爲止,我已經與綁?

回答

2

小於/大於指向較小側的尖端位。

所以,你要

SELECT * FROM table WHERE theDate < convert(date, GetDate()) 
+0

轉換是否需要? '(DECLARE @d DATE ='2010-04-01' SELECT 1 WHERE @d

+1

@RoyiNamir這取決於您是指今天之前還是之前。今天早上是在現在,但不是在今天之前。 – podiluska

+0

哦對: - ).... –

0
SELECT * FROM table WHERE CONVERT(DATE, colDateTime)> CAST(GETTDATE() AS DATE) 

這應該工作

0
SELECT 
TheDate, 
CASE 
WHEN TheDate < GETDATE() 
THEN 1 
ELSE 0 
END AS DateBeforeToday 
FROM Table