我有一列 varchar 类型,它包含大量数据(我们正在谈论数百万条记录)。我只选择日期列,如下所示:
select Value from mytable where ISDATE(mytable.Value) = 1
我想将结果中的所有值转换为MM/dd/yyyy HH:mm:ss tt
请注意,这些值具有许多不同的格式。
我怎样才能在 SQL Server 中做到这一点?
我有一列 varchar 类型,它包含大量数据(我们正在谈论数百万条记录)。我只选择日期列,如下所示:
select Value from mytable where ISDATE(mytable.Value) = 1
我想将结果中的所有值转换为MM/dd/yyyy HH:mm:ss tt
请注意,这些值具有许多不同的格式。
我怎样才能在 SQL Server 中做到这一点?
试试这个
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 日期格式的更多信息