Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何添加具有不同时区的额外列_Mysql - Fatal编程技术网

Mysql 如何添加具有不同时区的额外列

Mysql 如何添加具有不同时区的额外列,mysql,Mysql,我创建了一个简单的SQL脚本。脚本提供了最新的聊天记录,但我想看到多个时区。服务器所在的一个时区和我居住的一个时区。因此,我需要一个额外的列,将“msg_time”转换为UTC+1。我已经找了一段时间了,但找不到解决办法。 有人知道如何将此添加到我的脚本中吗 SELECT `msg`, FROM_UNIXTIME(`chatlog`.`msg_time`), `client_name` FROM `chatlog` order by FROM_UNIXTIME(`chatlog`.`msg_

我创建了一个简单的SQL脚本。脚本提供了最新的聊天记录,但我想看到多个时区。服务器所在的一个时区和我居住的一个时区。因此,我需要一个额外的列,将“msg_time”转换为UTC+1。我已经找了一段时间了,但找不到解决办法。 有人知道如何将此添加到我的脚本中吗

SELECT `msg`, FROM_UNIXTIME(`chatlog`.`msg_time`), `client_name` 
FROM `chatlog` 
order by FROM_UNIXTIME(`chatlog`.`msg_time`) DESC

可以添加如下所示的新列:

SELECT `msg`,
       FROM_UNIXTIME(`chatlog`.`msg_time`) as `msg_time`,
       CONVERT_TZ(`chatlog`.`msg_time`, 'GMT', 'Europe/Paris') as `msg_time_local`, 
       `client_name` 
FROM `chatlog` 
order by `msg_time` DESC
这样,列
msg\u time
将是您的原始列,
msg\u time\u local
是您的转换列


您将需要在MySQL中配置适当的时区支持,并按照中的说明设置时区表。

Hi Wassie,这个问题可能更适合DBA StackExchange站点作为您的答案。这和你问的有关吗?另外,您当前存储的是什么?您当前存储东西的时区是什么?最终,为了改变时区,你将需要使用你想要的东西。谢谢,你的代码就像一个魔咒!