0

我有一个名为 table1 的表,其中包含三列,其中一列是 Date_Of_Call,它是日期时间类型,数据在 PDT 中。我基本上需要将数据从 PDT 转换为 UTC 并将 UTC 转换的日期放入现有表中的新列中。我添加了一个新列:

alter table table1 ADD Date_Of_Call_UTC DATETIME;

我可以使用此 select 语句获得正确的时间转换:

select CONVERT_TZ(Date_Of_Call, '-7:00', '-0:00') from table1;

我遇到的问题是尝试使用更新命令获取 select 语句的结果并将它们放在新的 Date_Of_Call_UTC 列中。关于如何做到这一点的任何想法?

我尝试了以下语句和一些变体,但无法完全弄清楚我需要做什么:

update table1 set table1.Date_Of_Call_UTC = (select CONVERT_TZ(Date_Of_Call, '-7:00', '-0:00') from table1);

任何帮助表示赞赏!

4

1 回答 1

1

这个应该工作:

update table1
set table1.Date_Of_Call_UTC = CONVERT_TZ(Date_Of_Call, '-7:00', '-0:00');

注意:日期通常已经作为 UTC 存储在 mysql 中,但在输出期间可以显示应用偏移量,请阅读: http: //dev.mysql.com/doc/refman/5.0/en/datetime.htmlhttp ://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html

于 2013-10-22T21:35:54.260 回答