2010-03-08 69 views
0

我們最近將一些數據從一個SQL數據庫實例移動到另一個位置。SQL Server日期設置

我似乎已經注意到,我們的舊數據庫實例的某些方面將日期作爲字符串傳遞給SQL服務器,並且SQL服務器能夠正確解析它。例如,應用程序只會傳遞字符串值「15/01/2010」,數據庫會立即將其識別爲2010年1月5日。是否有SQL服務器中的設置,我現在需要打開或修改原因,當我傳遞相同的字符串值時,會發生錯誤正在生成,因爲它無法理解作爲日期傳遞的字符串值。

感謝您的輸入。

回答

0

嘗試

SET DATEFORMAT dmy 

但使用字符串時

相同的格式YYYYMMDD和YYYY-MM-DDTHH你應該只使用 '安全' 的格式:MI:ss.mmm(無空格)。它不與這些2種格式是什麼語言設置有

看看這裏重要:Setting a standard DateFormat for SQL Server

如果你需要轉換輸出使用CAST或轉換

select convert(varchar(30),getdate(),101) 

2010年3月8日

select convert(varchar(30),getdate(),101) +' ' 
+ convert(varchar(30),getdate(),108) 

2010年3月8日15時21分32秒

+0

我試圖設置日期格式ŧ ØDMY當我執行下列SQL SELECT GETDATE() 產量:08/03/2010上午11點13分06秒 ,當我嘗試設置的日期格式來MDY並執行相同的SQL,日期格式仍然相同。這些設置似乎根本沒有改變。 這是針對特定的數據庫實例,還是適用於服務器上的所有數據庫?我只需要將其設置在服務器上的數據庫實例上。謝謝。 – Angelo 2010-03-08 20:15:44

+0

將字符串轉換爲日期時的設置 – SQLMenace 2010-03-08 20:22:06

+0

閱讀SQLMenace指向您的鏈接。它解釋了登錄的默認語言決定了日期的解釋方式。還有代碼可以顯示如何更改默認語言。 – 2010-03-08 22:43:50