SQL ORDER BY Функция - PullRequest
       5

SQL ORDER BY Функция

0 голосов
/ 05 июня 2018

SELECT start FROM scheduling 
WHERE residentid='2'
ORDER BY DATE_FORMAT(start,'%H:%i:%s') desc;
   ------- start is type VARCHAR(10)--------------

'02:19PM'
'9:25PM'
'4:45PM'
NULL
'02:19PM'
''
'02:25AM'

Я не понимаю, почему мои даты не упорядочены правильно, я сделал все согласно тому, что я нашел, но я все еще не могу получить время начала, чтобы быть вв порядке убывания.Если вы видите, что есть 9:25 вечера, то есть 4:45 вечера., Но это не имеет смысла, так как 9:35 вечера приходит после 16:45, но также я пробую asc, (по возрастанию) все еще не работает

Ответы [ 2 ]

0 голосов
/ 05 июня 2018
SELECT *  FROM scheduling
ORDER BY STR_TO_DATE(REPLACE(REPLACE(start, 'AM', ' AM'), 'PM', ' PM'),'%l:%i %p') desc;

Обновленный ответ.

sqlfiddle.com / #! 9 / f49d7b / 18/0

0 голосов
/ 05 июня 2018

Попробуйте это:

SELECT * FROM scheduling 
WHERE residentid='2'
ORDER BY DATE_FORMAT(start,'%H:%i:%s') desc;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...