CONVERT_TZ不工作

时间:2013-07-17 15:54:42

标签: mysql

我们有一个运行PHP myAdmin的脚本,如下所示:

UPDATE utilities_alert SET date=CONVERT_TZ(date,'-06:00','00:00');
UPDATE utilities_update SET date=CONVERT_TZ(date,'-06:00','00:00');
UPDATE utilities_assetlocation SET start=CONVERT_TZ(start,'-06:00','00:00');
UPDATE utilities_assetlocation SET end=CONVERT_TZ(end,'-06:00','00:00');
UPDATE utilities_idlelog SET date=CONVERT_TZ(date,'-06:00','00:00');

它无效并返回NULL值。然后我遇到了这个

http://www.geeksengine.com/article/populate-time-zone-data-for-mysql.html

,遵循所有步骤,但无济于事。

2 个答案:

答案 0 :(得分:0)

这个动词可能有一个错误,我花了一些时间来尝试这个非常沮丧。但是,如果我使用这种格式,我确实可以使用它。

SELECT CONVERT_TZ(TimeSeen, 'America/New_York','Europe/London');

其中TimeSeen是DateTime字段。

如果您按照说明加载了时区数据,那么它应该可以正常工作。

答案 1 :(得分:0)

问题是我忘了一个+号。

应该是:

UPDATE utilities_alert SET date=CONVERT_TZ(date,'-06:00','+00:00');
UPDATE utilities_update SET date=CONVERT_TZ(date,'-06:00','+00:00');
UPDATE utilities_assetlocation SET start=CONVERT_TZ(start,'-06:00','+00:00');
UPDATE utilities_assetlocation SET end=CONVERT_TZ(end,'-06:00','+00:00');
UPDATE utilities_idlelog SET date=CONVERT_TZ(date,'-06:00','+00:00');