【发布时间】:2020-10-06 13:59:56
【问题描述】:
因此,在数据库表中,我们将地点的时区偏移量存储为一个整数,在其前面带有或不带有负号(- 或破折号),在 varchar(3) 列中,如下所示:
-5(抽动显然不是价值的一部分)
这需要在 from_tz 参数中的 CONVERT_TZ 函数中使用...它仅适用于字符串时区或格式的偏移量,如 -05:00,我还没有看到如何做。
function definition: CONVERT_TZ(dt, from_tz, to_tz)
我用另一种语言构建一些东西来将 -5 转换为字符串时区而不是将其传递给 from_tz 是不可行的,因为由于获取和比较,它必须在 SQL 中,而且我们没有时间修复数据值和表及其跨服务器的实现。
我已经尝试了各种组合的 REGEX、SIGN、SUBSTRING……但到目前为止,它们还没有为时区 0 或 -3 或 5 提供一致的解决方案(并且强制似乎不起作用),并且当 CONVERT_TZ 无法比较时,它返回 NULL,破坏任何依赖它的东西。
【问题讨论】:
标签: mysql datetime timezone timezone-offset