2011-09-21 63 views
1

我正在處理來自澳大利亞的日期/時間(我位於美國)。我無法得到以下字符串插入到DATETIME2列:SQL Server 2008 DATETIME2格式問題

2010/19/10 04:38:12.892 

正如你可以看到,它在yyyy/dd/mm HH:MM:ss.MMM格式按照以下格式。我知道正常格式是yyyy-mm-dd HH:MM:ss.MMM。我想知道的是,如果在SQL Server上有一個位置設置,我可以更改它以接受此格式,或者如果我需要解析並自行重新排列它。

編輯:只是爲了您的信息,我一直在輸入一個mm/dd/YYYY HH:MM:ss.MMM格式字符串到這個領域就好了。

回答

0

嘗試在INSERT之前發行SET DATEFORMAT ydm;。然後CONVERT(DATETIME,('2010/19/10 04:38:12.892'));工作正常。

More info

0

你可以試試這個:

SET DATEFORMAT YDM; 
select cast('2010/19/10 04:38:12.892' as datetime) 

它將正確分析

UPDATE: I found help here.

但我想直接鑄造DATETIME2和它沒有工作。我不明白你爲什麼可以投射日期時間而不是日期時間2。對於SO來說,這可能是個好問題:)