SQL Server Management Studio Express中的错误242
问题描述:
为什么当我尝试在“datetime”值中插入此日期时,消息242会进行比较?SQL Server Management Studio Express中的错误242
2012-11-16 00:00:00.000
这个错误没有,例如如果我尝试插入:
2012-11-16 15:00:00.000
答
将它插入'2012-11-16T00:00:00.000'
如果你不需要的时候,将它插入
'20121116'
这些是日期时间/日期的ISO格式。
与其他所有格式一样,根据SQL语句运行的用户的语言,您会遇到问题。
你也可以得到像月/日这样的问题,但并不总是显而易见的。
例如如果你解析一个像'01/01/2015'
这样的字符串,它将一直工作。 但是当你到'01/13/2015'
,你遇到问题,因为英语使用month/day/year
,而例如德国用途day/month/year
,13是不是有效的一个月...
在你的情况下,以某种方式曲解时间,而会导致各种奇怪的错误。
+0
非常感谢您,这是真正的解决方案 –
http://*.com/questions/10398921/how-does-sql-server-decide-format-for-implicit-datetime-conversion – mohan111
CONVERT(DATETIME,'2012-11-16 00:00:00.000 ')不起作用! –
insert into Table values('CONVERT(DATETIME,'2012-11-16 00:00:00.000')does not work ... –