我有一個表,不幸的是一些日期被存儲爲字符串。SQL Server 2008 VarChar To DateTime
我有許多由他們將它們轉換成日期時間和過濾的報告。這是直到今天工作正常時,突然我得到這個錯誤
「varchar數據類型爲datetime數據類型的轉換導致超出範圍的值。」
的日期都存儲在「YYYY-MM-DD」的格式,並都是有效的。
如果我運行下面的SQL語句
SELECT CAST('2010-06-02' AS DateTime)
我希望得到「2010-06-02」,然而今天我發現了「2010-02-06」的東西已經與改變方式SQL格式日期。我看了一下服務器上的區域設置,看起來都是正確的。
還有什麼可能會導致這?
@Gavin - 可能是數據庫中的語言已更改。 http://msdn.microsoft.com/en-us/library/ms191448.aspx – codingbadger 2010-09-23 10:37:17
@Gavin - 在SQL Server上的日期和時間一些進一步的信息http://msdn.microsoft.com/en-us/library/ms180878 .aspx – codingbadger 2010-09-23 10:37:57
@Gavin Draper這種印象很接近現實。這是沒有連字符的日期字符串,被解釋爲忽略了您可能擁有的任何文化設置。 – 2010-09-23 10:47:13