[英]How to test two datetimes for equality in T-SQL (ignoring their time components)?
如何測試兩個日期時間(不包括其時間分量)是否相等?
最好的選擇是使用DATEDIFF
例如,僅比較月份:
SELECT DATEDIFF(month,'2005-12-31 23:59:59.9999999','2006-01-01 00:00:00.0000000');
這是進行比較並根據對查詢的確切需求確定差異的最佳方法。 它甚至下降到毫秒。
DATEDIFF(day, rem.DueDate , GETDATE()) = 0
要測試兩個日期是否相等,請忽略時間部分:
SELECT DATEDIFF(day, @first, @second) = 0
要測試兩個時間是否相等,請忽略日期部分:
SELECT DATEADD(day, -DATEDIFF(day, 0, @first), @first) =
DATEADD(day, -DATEDIFF(day, 0, @second), @second)
這應該工作:
SELECT * FROM MyTable
WHERE floor(convert(real,date1))=floor(convert(real,date2))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.