SELECT
CASE WHEN '04/10/2006' < '07/01/2013' THEN 'TRUE' ELSE 'FALSE'
END
输出:TRUESQL服务器 - 日期比较
SELECT
CASE WHEN '10/31/2006' > '07/01/2012' THEN 'TRUE' ELSE 'FALSE'
END
输出:TRUE
这是如此混乱。我执行了这两个查询,并且对于这两个查询都得到了o/p。第一个查询的o/p是正确的。不应该输出到第二个查询是错误的。?有人可以帮忙吗?
你比较字符串,但不是日期。使用DATE或以'YYYY-MM-DD'格式指定字符串。 – dnoeth
你的查询没有比较日期,它比较了STRINGS – sepupic
SQL不知道你希望你的日期字符串(即'10/31/2006'')被视为日期,因此它将它们视为字符串。明确地将它们转换为DATETIME数据类型。 – RBarryYoung