我需要将一个表的记录复制到另一个表,但在执行此操作之前,我需要将我的日期戳列 (nvarchar) 转换为 datetime 格式,因为日期是 varchar 格式,因此我无法查询该表。我知道如何将 varchar 转换为日期时间格式,但它是针对单个记录的。任何人都可以向我推荐一种简单快捷的方法,将整个列转换为日期时间格式,然后将记录复制到另一个表中。例如,varchar 日期戳的格式是 2013 年 1 月 16 日,星期三。
declare @dateString varchar(50)
set @dateString = 'wednesday, january 16, 2013'
declare @index int
set @index = charindex( ',', @dateString )
set @dateString = substring( @dateString, @index + 1, len(@dateString) - @index)
select cast(@dateString as datetime)
上面的代码在 datetime 中转换了我的格式的 varchar