比较mssql中的日期

时间:2014-05-20 10:02:43

标签: sql sql-server date

所以我的数据库中有一个日期字段。其类型为“日期”。该字段的值为2014-05-04(yyyy-dd-mm)。

如何在sql中检查日期是在今天之前还是之后?

到目前为止,我已经并列:

SELECT * FROM table WHERE theDate > GetDate()

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

如何检查“2014-05-04”是否在今天之前?

3 个答案:

答案 0 :(得分:2)

小于/大于尖端位指向较小的一侧。

所以你想要

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

答案 1 :(得分:0)

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

这应该有效

答案 2 :(得分:0)

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