如果您在SQL Server 2014中運行以下查詢,那麼對於列DT的結果,您會得到什麼結果?它應該是「1」,但在SQL Server 2008中,我變成了「0」。確認SQL Server的錯誤?
SELECT
CASE WHEN CAST('2014-01-02 00:00:00.001' AS DATETIME) > CAST('2014-01-02 00:00:00.000' AS DATETIME) THEN 1 ELSE 0 END AS 'DT'
, CASE WHEN CAST('2014-01-02 00:00:00.002' AS DATETIME) > CAST('2014-01-02 00:00:00.000' AS DATETIME) THEN 1 ELSE 0 END AS 'DT2'
, CASE WHEN '2014-01-02 00:00:00.001' > '2014-01-02 00:00:00.000' THEN 1 ELSE 0 END AS 'VARCHAR'
datetime的分辨率是3.33毫秒 – 2014-12-04 01:47:13
您可以簡化您的查詢,因爲後兩種情況與您的問題無關。 – Raptor 2014-12-04 01:47:31
帶回家的形式是,不要自動假設它是SQL Server中的一個錯誤.... – 2014-12-04 02:12:40