Сортировка по текущему времени из часового пояса в MySQL - PullRequest
0 голосов
/ 08 ноября 2018

Мое требование - сортировать результаты станции по текущему времени в порядке убывания. В таблице станций у меня есть столбец часовых поясов, который содержит значения, подобные этому

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

Исходя из значения этого столбца, мне нужно сгенерировать текущее время каждой станции и выполнить сортировку по убыванию текущего времени. Может ли кто-нибудь помочь мне с этим разобраться?

1 Ответ

0 голосов
/ 08 ноября 2018

Если вы хотите отсортировать по часовому поясу (в этом формате), здесь есть два метода.

Если часть "Etc" имеет фиксированную длину, то:

order by length(timezone) desc, timezone desc

Если часть "Etc" имеет переменную длину:

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

Вы можете извлечь смещение часового пояса и использовать его, чтобы изменить местное время на UTC. Вы не предоставляете пример данных для части "Etc", поэтому я предполагаю, что вы знаете, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...