1

我有一列 varchar 类型,它包含大量数据(我们正在谈论数百万条记录)。我只选择日期列,如下所示:

select Value from mytable where ISDATE(mytable.Value) = 1

我想将结果中的所有值转换为MM/dd/yyyy HH:mm:ss tt

请注意,这些值具有许多不同的格式。

我怎样才能在 SQL Server 中做到这一点?

4

1 回答 1

1

试试这个

SELECT CONVERT(VARCHAR(10), CAST(value as datetime), 101) + ' ' 
     + substring(convert(varchar(20), CAST(value as datetime), 9), 13, 5) 
     + ' ' + substring(convert(varchar(30), CAST(value as datetime), 9), 25, 2) As dateValue
FROM mytable 
WHERE ISDATE(mytable.Value) = 1

有关 SQL SERVER 日期格式的更多信息

SQL Server 日期格式

于 2012-10-14T20:04:12.410 回答