2014-01-11 48 views
2

工作我有一個簡單的查詢SQL <>不與日期時間

SELECT * 
FROM SlabRateDetail 
WHERE Fromdate <> '01/04/2010 12:00:00 AM' 

但是當我運行此查詢我看到我的結果01/04/2010 12:00:00 AM

任何想法爲什麼?我甚至指定日期文字(YYYY/MM/DD

例如,當使用!=

+1

您保存的時間是否包含毫秒?你真的想從查詢中排除一秒鐘的時間嗎? –

+0

什麼數據類型是'fromdate'列? –

+0

@ GabyakaG.Petrioli它的DATETIME –

回答

5

使用明確的ISO8601像日期嘗試

SELECT * FROM SlabRateDetail 
WHERE Fromdate <> '2010-04-01 12:00:00 AM' 

我相信你所看到的日期是2010/01/04

默認情況下,SQL Server使用的MM/DD/YYYY對文字美日約定(取決於您的服務器設置)

+0

是的..這是它:) 謝謝幫助...... –

+0

這是否明確取決於OP是使用'datetime'還是'date' /'datetime2'。以下內容返回兩個不同的日期。 'SET LANGUAGE ITALIAN; SELECT CAST('2010-04-01 12:00:00 AM'AS DATETIME); SELECT CAST('2010-04-01 12:00:00 AM'DATETIME2)' –

+0

然後我會說這是一個錯誤! –

0

試試這個

SELECT * FROM SlabRateDetail WHERE CONVERT(VARCHAR(10), Fromdate, 106) <> CONVERT(VARCHAR(10), '01/04/2010 12:00:00 AM', 106) 
相關問題