sql<>不使用datetime

时间:2014-01-11 10:50:19

标签: sql sql-server tsql datetime

我有一个简单的查询

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

但是当我运行此查询时,我会在结果中看到01/04/2010 12:00:00 AM

任何想法为什么?我甚至尝试过使用!=

2 个答案:

答案 0 :(得分:5)

在指定日期文字时使用明确的ISO8601类似日期(YYYY/MM/DD

e.g。

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

我相信您看到的日期为2010/01/04

默认情况下,SQL Server对文字使用美国日期约定MM/DD/YYYY(取决于您的服务器设置)

答案 1 :(得分:0)

试试这个

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