爲什麼當我嘗試在「datetime」值中插入此日期時,消息242會進行比較?SQL Server Management Studio Express中的錯誤242
2012-11-16 00:00:00.000
這個錯誤沒有,例如如果我嘗試插入:
2012-11-16 15:00:00.000
爲什麼當我嘗試在「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是不是有效的一個月...
在你的情況下,以某種方式曲解時間,而會導致各種奇怪的錯誤。
非常感謝您,這是真正的解決方案 –
http://stackoverflow.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 ... –