我在SQL Server 2008 R2 Express的特定實例中的語言環境中遇到了很多困難。由於語言環境而將字符串轉換爲日期時間時出錯
我在英國和以下失敗:
SELECT CAST('2012-12-31' AS DATETIME)
錯誤消息:
varchar數據類型爲datetime數據類型的轉換導致的失範圍值。
Windows服務器語言環境是英式英語。我的登錄語言環境是英式英語。如果重要,整理「是Latin1_General_CI_AS。
數據庫'語言'是英語(美國),但是這與其他服務器上的另一個實例相同,並且上述SQL不會失敗。
有什麼想法?
我不同意解決方案是讓所有用戶使用相同的語言。如果他們的語言是爲了其他目的而設置的,那麼該怎麼辦?修復每個用戶也很乏味,因爲每次創建新用戶時,代碼可能只會在修復之前就開始失敗。如果您修復了代碼,則可以解決問題。 –
這不是針對所有用戶的。這是一個SQL登錄帳戶 – jglouie
是的,當你添加一個新的SQL登錄帳戶並且他們的語言設置爲英國時,請猜測你的代碼再次開始做什麼? –