我有一個從平面文件中以DD/MM/YYYY格式保存的日期。 「20/04/2013」字符串的日期轉換失敗
當我嘗試將其插入到我的SQL Server數據庫中時,它將值更改爲MM/DD/YYYY。
所以當然在那裏沒有20個月,我的代碼失敗了。我該如何解決這個問題?
我試過這樣的東西,我沒有運氣。
SELECT CONVERT(datetime, CONVERT(varchar, '20/04/2013', 101))
我有一個從平面文件中以DD/MM/YYYY格式保存的日期。 「20/04/2013」字符串的日期轉換失敗
當我嘗試將其插入到我的SQL Server數據庫中時,它將值更改爲MM/DD/YYYY。
所以當然在那裏沒有20個月,我的代碼失敗了。我該如何解決這個問題?
我試過這樣的東西,我沒有運氣。
SELECT CONVERT(datetime, CONVERT(varchar, '20/04/2013', 101))
在SQL Server上,你需要使用SET DATEFORMAT
選項。 (見http://msdn.microsoft.com/en-us/library/ms189491.aspx)。
在你的情況,你需要執行上述SELECT語句之前發出以下命令:
SET DATEFORMAT dmy
或者,也可以在全球範圍內改變DATEFORMAT設置服務器。
定義和用法 CONVERT()函數是將一種數據類型的表達式轉換爲另一種數據類型的通用函數。
CONVERT()函數可用於以不同格式顯示日期/時間數據。
選擇轉換(日期時間,'20/04/2013' ,103) enter link description here
101是美國格式的代碼,你的想法完全告訴你的轉換使用MM/DD/YYYY - 您應該使用103是DD/MM/YYYY。關於轉換和轉換代碼的更多信息,請參見: http://msdn.microsoft.com/en-us/library/ms187928.aspx –