【发布时间】:2012-10-04 20:35:36
【问题描述】:
我有一个 varchar 类型的列,它包含大量数据(我们谈论的是数百万条记录)。我只选择日期列,如下所示:
select Value from mytable where ISDATE(mytable.Value) = 1
我想将结果中的所有值转换为MM/dd/yyyy HH:mm:ss tt的格式
请注意,这些值有多种不同的格式。
如何在 SQL Server 中做到这一点?
【问题讨论】:
-
您是否提前知道所有可能的日期格式?我认为您需要将所有字符串解析为中间 DATETIME 对象,然后使用您的显示格式将字符串拉回。
-
为什么不从 UI 转换日期而不是消耗数据库服务器资源?
-
@Ron,你说的是哪种用户界面?不幸的是,我有数百万个已存储的日期值存储为 varchars,我想将它们转换为统一格式。
-
抱歉,我没有意识到这是永久转换。
标签: sql sql-server date type-conversion string-formatting