mysql中基于currenttime的时区排序

5f0d552i  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(330)

我的要求是根据当前时间按降序排列电台结果。在station表中,我有一个时区列,其中包含如下值

--------------+
| timezone     |
+--------------+
| Etc/GMT+12   |
| Etc/GMT+11   |
| Etc/GMT+10   |
| Etc/GMT+9    |

基于此列值,我需要生成每个站点的当前时间,并需要根据当前时间的降序进行排序。有谁能帮我解决这个问题吗?

7vux5j2d

7vux5j2d1#

如果您想按时区(这种格式)排序,这里有两种方法。
如果“etc”部分长度固定,则:

order by length(timezone) desc, timezone desc

如果“etc”部分长度可变:

order by replace(substring_index(timezone, '/', -1), 'GMT', 0) + 0 desc

您可以提取时区偏移量并使用它将本地时间更改为utc。您没有为“etc”部分提供示例数据,因此我假设您知道如何进行此操作。

相关问题