SQL Server 2008日期时间2格式问题
我正在处理来自澳大利亚的日期/时间(我位于美国)。我无法将以下字符串插入DATETIME2列:SQL Server 2008日期时间2格式问题,sql,sql-server-2008,datetime-format,Sql,Sql Server 2008,Datetime Format,我正在处理来自澳大利亚的日期/时间(我位于美国)。我无法将以下字符串插入DATETIME2列: 2010/19/10 04:38:12.892 如您所见,它的格式为yyyy/dd/mm HH:mm:ss.MMM格式。我知道正常的格式是yyyy-mm-dd HH:mm:ss.MMM。我想知道的是,SQL Server上是否有一个本地设置,我可以更改它以使其接受这种格式,或者我是否需要自己解析并重新排列它 EDIT:仅供参考,我一直在将mm/dd/YYYY HH:mm:ss.MMM格式字符串导入到
2010/19/10 04:38:12.892
如您所见,它的格式为yyyy/dd/mm HH:mm:ss.MMM
格式。我知道正常的格式是yyyy-mm-dd HH:mm:ss.MMM
。我想知道的是,SQL Server上是否有一个本地设置,我可以更改它以使其接受这种格式,或者我是否需要自己解析并重新排列它
EDIT:仅供参考,我一直在将mm/dd/YYYY HH:mm:ss.MMM
格式字符串导入到字段中。我想这取决于“区域设置”日期格式
有关如何在此处转换的一些示例:
希望这有帮助。试着发布
SET-DATEFORMAT-ydm代码>插入前插入
。然后CONVERT(日期时间,('2010/19/10 04:38:12.892')代码>工作正常
您可以尝试以下方法:
SET DATEFORMAT YDM;
select cast('2010/19/10 04:38:12.892' as datetime)
它将正确地解析它
更新:
但我试着直接选datetime2,但没有成功。我不明白为什么你可以选择datetime而不是datetime 2。也许这是一个很好的问题