当我在 SQL-Server 2008 中运行此代码时,
select case when '6/1/2012' < '6/1/2012' then 1 else 0 end
我得到 0。
如果我跑,
select case when '6/1/2012 0:00:00.000' < '6/1/2012' then 1 else 0 end
我也得到0。
但是 ,如果我跑
select case when '6/1/2012' < '6/1/2012 0:00:00.000' then 1 else 0 end
我得到 1。
为什么是这样?
最佳答案
我的猜测是:
您可能希望您的数据库自动检测日期,但这将涉及解析 每你给它的字符串,以防它是一个日期,这会损害性能,也可能会造成混淆(如果某些东西被转换为日期而你并不是故意的)。
关于sql - '6/1/201 2' < ' 6/1/2012 0 :00:00. 000' = 真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11531380/