我有這個疑問在SQL Server:SQL Server日期時間篩選查詢
此查詢的SELECT
[Order Date], SUM([Profit])
FROM
[sample].[dbo].[superstore]
WHERE
[Order Date] BETWEEN '2012-06-21 00:00:00.000' AND '2012-09-21 23:59:59.999'
GROUP BY
[Order Date]
ORDER BY
[Order Date];
結果有紀錄的2012-06-21 00:00:00.000
[訂購日期],但與此查詢
SELECT
[Order Date], SUM([Profit])
FROM
[sample].[dbo].[superstore]
WHERE
[Order Date] BETWEEN '2012-06-21 00:00:00.000' AND '2012-09-21 23:59:59.998'
GROUP BY
[Order Date]
ORDER BY
[Order Date];
我沒有得到這個記錄。
SQL Server是否有任何缺少的屬性?
提示:類型[Order Date]
是datetime
。
' SQL Server中的DATETIME'具有3.33ms的精度,導致這些奇怪的四捨五入效應。建議使用SQL Server 2008中引入的'DATETIME2(n)','DATE'和'TIME' - 這些類型沒有這種奇怪的準確性和舍入問題 –