





Используйте функцию TIME_FORMAT в вашем предложении ORDER BY
предполагая, что ваш столбец называется thetime и всегда выражается в 24-часовом формате hours:minutes (23:43)
ORDER BY TIME_FORMAT(thetime, '%H:%i');
В идеале вы должны хранить данные как TIME, но вы всегда можете CASTлитералы даты и времени по запросу:
ORDER BY CAST(thetime AS TIME)
Спасибо. Это работает, как и ORDER BY ABS (время). (кстати: я не голосую, потому что моя репутация мне все равно не позволяет)
У тебя нет проблем. '08:00' меньше, чем '10:00'.
У вас нет проблемы, потому что вы дополнили строку нулями. Это работает до '99:59'. Если вам нужны трехзначные часы, то вам нужно сохранить добавку 0 для часа: '008:00'' and'010: 00 ''.
Конечно, вы также можете использовать тип данных TIME. В общем, это имеет смысл, но он ограничен в своем диапазоне, и в нем хранятся субминутные части на время (поэтому при некоторых обстоятельствах он может не идеально подходить для ваших нужд).
Это будет полезно -> stackoverflow.com/questions/4686849/…