簡體   English   中英

SQL Server 2008 DATETIME2 格式問題

[英]SQL Server 2008 DATETIME2 Format Question

我正在處理來自澳大利亞的日期/時間(我位於美國)。 我無法將以下字符串插入到 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格式字符串導入該字段就好了。

我猜這取決於“語言環境”日期格式。

關於如何在此處轉換的一些示例: http : //www.java2s.com/Code/SQLServer/Date-Timezone/Formatdatemmddyyyy.htm

希望這是有幫助的。

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

更多信息

你可以試試這個:

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

它會正確解析它

更新: 我在這里找到了幫助。

但是我嘗試直接轉換為 datetime2 並且沒有用。 我不明白為什么你可以投射到 datetime 而不是 datetime2。 對於SO來說,這也許是個好問題。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM