在SQL中将Unix时间列转换为UTC

时间:2014-07-21 16:47:33

标签: sql sql-server unix-timestamp utc

我有一个带有一列Unix时间戳的导入表。我想将列转换为UTC时间。这是我到目前为止所做的。

select dateadd(S, [startime], '1970-01-01') from table

这会以所需的格式返回输出,但我不确定如何对该列进行永久性更改......如果可能的话。

1 个答案:

答案 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'