MYSQL ORDER BY strtotime (колонка) ASC возможно? - PullRequest
0 голосов
/ 30 декабря 2018

У меня есть колонка с вархарами, как 2.7.2019 10: 15-12: 30.Теперь я хочу отсортировать выходные данные по этим датам, но мне нужно отформатировать их в метку времени.Как я могу сделать это в ORDER BY 'column'.Это моя текущая попытка:

mysqli_query($conn, "SELECT * FROM ".$kTable." WHERE class='".$class."' ORDER BY '.strtotime(.''datehours''.).' DESC"); Я знаю, что varchars содержат диапазон временных отметок, но для целей сортировки он может выполнять свою работу.Диапазоны, такие как 12.12.2018 10: 00-12: 15, будут 12.12.2018 22:15 и будут иметь более высокое или низкое значение в виде диапазонов, таких как 10: 10-12: 15 (22:25)

1 Ответ

0 голосов
/ 30 декабря 2018

Вы можете использовать str_to_date() для преобразования первой части диапазона в дату и время:

select . . .  -- whatever you want to select here
from t
order by str_to_date(substring_index(datehour, '-', 1), '%d.%m.%Y %H:%i')

или любой другой формат, подходящий для вашего столбца.

...