2017-09-22 127 views
-2

我有一个存储UTC时间的MySQL数据库。但是,当我使用MySQL Workbench连接到它时,我希望在PST中看到时间。我知道我可以使用tz_convert将单个列转换为PST。我想知道是否有任何方法将整个客户端会话设置为时区,以便我不必将tz_convert放在每个单独的时间列上。为mysql客户端设置默认时区

回答

0

您的列必须是TIMESTAMP类型才能自动转换为您的本地时间戳。如写在10.6 MySQL Server Time Zone Support

当前会话时区设置会影响显示和存储区域敏感的时间值。这包括NOW()或CURTIME()等函数显示的值,以及TIMESTAMP列中存储和检索的值。 TIMESTAMP列的值从当前时区转换为UTC存储,并从UTC转换到当前时区以供检索。

然而,它并没有日期,时间或DATETIME工作:

的当前时区设置不影响在日期,时间)如UTC_TIMESTAMP(由功能显示的值或值,或DATETIME列。这些数据类型中的值也不以UTC存储;时区仅适用于从TIMESTAMP值转换时的时区。如果您需要针对DATE,TIME或DATETIME值的特定于语言环境的算术,请将它们转换为UTC,执行算术运算,然后再转换回去。