#sql #postgresql #date #sorting
Вопрос:
Мне было интересно, как postgres сортирует списки следующего типа
- 2021-10-18 15:12:09 яблоко
- 2021-10-18 12:10:09 мальчик
- 2021-10-18 11:12:15стекло
Я попробовал в postgres, и это привело к следующему порядку
with temp_table(a) as (
values ('2021-10-18 15:12:09apple'),
('2021-10-18 12:10:09boy'),
('2021-10-18 11:12:15stack')
) select * from temp_table order by a
«2021-10-18 11:12:15стекло»
«2021-10-18 12:10:09 мальчик»
«2021-10-18 15:12:09 яблоко»
Как это работает ?
Комментарии:
1.Почему это вас удивляет? Очевидно
2021-10-18 11:12:15
, будут отсортированы до2021-10-18 12:10:09
2. Каков желаемый порядок?
Ответ №1:
Как и ожидалось, он сортирует данные в виде строк (начиная с крайнего левого символа).
Так 2021-10-18 11:12:15stack
что < 2021-10-18 12:10:09boy
2021-10-18 15:12:09apple
потому что, помимо 2021-10-18
того, что является общим, 11:12
as string-это < 12:10
как строка и 15:12
как строка