2015-10-05 166 views
0

爲什麼當我嘗試在「datetime」值中插入此日期時,消息242會進行比較?SQL Server Management Studio Express中的錯誤242

2012-11-16 00:00:00.000 

這個錯誤沒有,例如如果我嘗試插入:

2012-11-16 15:00:00.000 
+0

http://stackoverflow.com/questions/10398921/how-does-sql-server-decide-format-for-implicit-datetime-conversion – mohan111

+0

CONVERT(DATETIME,'2012-11-16 00:00:00.000 ')不起作用! –

+0

insert into Table values('CONVERT(DATETIME,'2012-11-16 00:00:00.000')does not work ... –

回答

1

將它插入'2012-11-16T00:00:00.000'

如果你不需要的時候,將它插入

'20121116' 

這些是日期時間/日期的ISO格式。
與其他所有格式一樣,根據SQL語句運行的用戶的語言,您會遇到問題。

你也可以得到像月/日這樣的問題,但並不總是顯而易見的。

例如如果你解析一個像'01/01/2015'這樣的字符串,它將一直工作。 但是當你到'01/13/2015',你遇到問題,因爲英語使用month/day/year,而例如德國用途day/month/year,13是不是有效的一個月...

在你的情況下,以某種方式曲解時間,而會導致各種奇怪的錯誤。

+0

非常感謝您,這是真正的解決方案 –

相關問題