我的要求是根据当前时间以降序对测站结果进行排序。在电台表中,我有一个时区列,其中保存着这样的值
--------------+
| timezone |
+--------------+
| Etc/GMT+12 |
| Etc/GMT+11 |
| Etc/GMT+10 |
| Etc/GMT+9 |
基于此列值,我需要生成每个站点的当前时间,并且需要基于当前时间的降序进行排序。有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
如果要按时区排序(采用这种格式),请使用以下两种方法。
如果“ Etc”部分的长度固定,则:
order by length(timezone) desc, timezone desc
如果“ Etc”部分的长度可变:
order by replace(substring_index(timezone, '/', -1), 'GMT', 0) + 0 desc
您可以提取时区偏移并将其用于将本地时间更改为UTC。您没有提供“ Etc”部分的示例数据,因此我假设您知道如何执行此操作。