gpt4 book ai didi

mysql - 如何将MySQL中的时区偏移值(例如 “-0400”)转换为带有冒号(例如 “-04:00”)的值?

转载 作者:行者123 更新时间:2023-11-29 10:13:28 24 4
gpt4 key购买 nike

所以我有一个 MySQL 5.7 数据库,它在两个单独的列中存储 UTC 时间戳以及时区偏移量。时区位于 timezone 中,偏移量位于 offset 中。

据我了解,我可以通过使用 CONVERT_TZ 运行这样的命令来获得计算出的实际偏移量非 UTC 时间。 :

CONVERT_TZ(`timestamp`,'+00:00',`offset`)

但我面临的问题是存储的偏移值没有用冒号分隔小时和分钟,如下所示:-0400

为了能够正确使用CONVERT_TZ,我需要以某种方式将-0400更改为-04:00,但是如何呢?有正则表达式方法吗?

我可以使用 REPLACE 做这样的事情,但这仍然显得很草率:

CONVERT_TZ(`timestamp`,'+00:00',REPLACE(`offset`,'00',':00'))

最佳答案

要在偏移列中插入冒号,您可以使用以下命令:

CONVERT_TZ(`timestamp`,'+00:00',CONCAT(LEFT(`offset`, LENGTH(`offset`)-2),':',RIGHT(`offset`,2)));

关于mysql - 如何将MySQL中的时区偏移值(例如 “-0400”)转换为带有冒号(例如 “-04:00”)的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50539568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com