-1

我在 MYSQL 中有 ID 为 Req_Order_No(Varchar) 、 Req_In_Time(DateTime) 、 Req_Out_Time(DateTime) 的数据库

示例行如下所示:

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吗?

4

1 回答 1

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 ;
于 2014-07-25T13:40:55.437 回答