我有一个带有一列Unix时间戳的导入表。我想将列转换为UTC时间。这是我到目前为止所做的。
select dateadd(S, [startime], '1970-01-01') from table
这会以所需的格式返回输出,但我不确定如何对该列进行永久性更改......如果可能的话。
答案 0 :(得分:1)
您想要添加新的缓冲区列。
ALTER TABLE [tablename] ADD [starttimeDT] DATETIME
然后更新该缓冲区列的值。
UPDATE [tablename] SET starttimeDT = dateadd(S, [startime], '1970-01-01')
然后在检查所有数据是否正确后删除旧列(请确保执行此操作,因为一旦删除列,就不会再返回)。
ALTER TABLE [tablename] DROP COLUMN starttime
然后将缓冲区列重命名为旧名称。
sp_rename 'starttimedt', 'starttime', 'COLUMN'