在MySQL的另一列中转换和存储日期和时间

时间:2014-07-25 13:29:58

标签: php mysql database timezone timestamp-with-timezone

我在MYSQL中有ID,Req_Order_No(Varchar),Req_In_Time(DateTime),Req_Out_Time(DateTime)

Sample行如下所示:

1   W0CH546  2014-07-23 09:32:00   2014-07-24 01:42:00

以上日期和时间采用EST格式。我想转换它们并以IST格式存储在其他列中

我尝试了SELECT CONVERT_TZ('Req_In_Time','-05:00','+9:30');

但它返回NULL值。

请帮忙。我还需要PHP吗?

1 个答案:

答案 0 :(得分:0)

Req_In_Time周围的引号会导致错误。

SELECT CONVERT_TZ(Req_In_Time,'-05:00','+9:30');

此外,您永远不应该在本地时间存储时间信息。 使用UTC / GMT。

显示时,您始终可以将其转换为正确的本地时间。

注意:当然您还需要指定表名:

SELECT CONVERT_TZ(Req_In_Time,'-05:00','+9:30') FROM YOUR_TABLE_NAME;

因此,您要将另一列(例如列xxx)添加到YOUR_TABLE_NAME 然后更新值。

UPDATE YOUR_TABLE_NAME
     SET xxx = CONVERT_TZ(Req_In_Time,'-05:00','+9:30') 

顺便说一句,添加专栏:

ALTER TABLE YOUR_TABLE_NAME ADD COLUMN `xxx` datetime NULL ;