如何测试两个日期时间(不包括它们的时间组件)是否相等?
答案 0 :(得分:6)
您最好的选择是使用DATEDIFF
例如,仅比较月份:
SELECT DATEDIFF(月,'2005-12-31 23:59:59.9999999','2006-01-01 00:00:00.0000000');
这是进行比较并根据您对查询的确切需求确定差异的最佳方式。它甚至可以降到毫秒级。
答案 1 :(得分:2)
DATEDIFF(day, rem.DueDate , GETDATE()) = 0
答案 2 :(得分:2)
要测试两个日期是否相等,请忽略时间组件:
SELECT DATEDIFF(day, @first, @second) = 0
要测试两次是否相等,忽略日期组件:
SELECT DATEADD(day, -DATEDIFF(day, 0, @first), @first) =
DATEADD(day, -DATEDIFF(day, 0, @second), @second)
答案 3 :(得分:0)
这应该有效:
SELECT * FROM MyTable
WHERE floor(convert(real,date1))=floor(convert(real,date2))