在我的Mysql 5.0 DB中,我有一个列来控制LastUpdated信息。 Column是TimeStamp,MySql自动更新数据。
我正在尝试以UTC格式选择此列。
问题是服务器设置为美国日期时间。根据MySql文档,数据库以UTC格式存储信息,但是当我想显示信息时,它会将其转换为服务器的时间。
有没有办法做SELECT命令避免这种转换?
答案 0 :(得分:32)
SELECT
CONVERT_TZ(`timestamp_field`, @@session.time_zone, '+00:00') AS `utc_datetime`
FROM `table_name`
我在这里制作了一张备忘单:Should MySQL have its timezone set to UTC?
答案 1 :(得分:6)
除了更改服务器的默认时区外,还可以通过执行此SQL语句来调整每个连接的时区:
SET time_zone = timezone;
其中timezone是时区的名称(see MySQL docs)。
或者,您也可以使用CONVERT_TZ
function将时间戳转换为其他时区。