我有两张带有时间戳的表
TABLE1
带有当地时间的 TIMESTAMP
TABLE2
带有 UTC 时间戳
我需要做类似的事情
select count(*) from TABLE1 where TIME_STAMP > TABLE2.TIME_STAMP
问题是这个应用程序将部署在多个时区,所以我无法使用以下内容
SELECT CONVERT_TZ(TABLE2.TIME_STAMP,'EST','UTC')
因为 'EST
' 可以是任何时区。
有没有办法获取本地时区代码并将其替换为第二个参数?
或者有更好、更直接的方法来解决我的问题吗?
注意:TABLE1 和 TABLE2 TIME_STAMPS 都必须分别保留为本地和 UTC,因为它们是我无法控制的外部...
这是我实施的解决方案:
这会将 NOW 从本地时区转换为 UTC
SELECT CONVERT_TZ( NOW(), @@session.time_zone, '+00:00' )
这会将任何给定的 TIMESTAMP 字符串从本地时区转换为 UTC
SELECT CONVERT_TZ( "2012-02-14 16:44:36", @@session.time_zone, '+00:00' )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)