转换SQL Server中的非标准日期时间字段

时间:2014-04-22 07:15:53

标签: sql-server-2008 datetime

我正在使用SQL Server 2008 R2。我已经获得了包含许多varchar字段的数据,格式为mm / dd / yyyy hh:mm:ss.mmmmmm AM。以下是一些例子:

1/16/2013 10:31:38.000000 AM
11/12/2013 3:42:12.000000 PM
12/6/2013 2:42:46.000000 PM

我想转换为日期时间格式,以便我可以使用它们,但遇到问题...我发现各种网站列出了不同的日期时间格式(例如this one),但是这种格式没有在任何地方列出。

我尝试过各种不同的方式进行转换和转换,包括:

select CAST (field as datetime) from table;

select CONVERT (datetime, field, 101)
from table;

但我一直收到这个错误: "Msg 241, Level 16, State 1, Line 1 Conversion failed when converting date and/or time from character string."

我认为因为我的字段所在的格式不是标准的,所以SQL无法识别它?

任何帮助将不胜感激。如果之前已经涉及到道歉 - 我花了4个小时搜索这个和其他网站但却找不到答案......

1 个答案:

答案 0 :(得分:0)

您不应该转换为Datetime2类型吗? Datetime的精度仅高达毫秒。