Порядок сортировки по меткам времени в Oracle - PullRequest
3 голосов
/ 12 января 2011

Я заметил странный порядок сортировки при сортировке по отметке времени.Сначала выполняется сортировка по временной части временной метки, а затем для записей с тем же временем используется дата для сортировки.

Для меня это выглядит совершенно неправильно.Есть ли способ сказать Oracle, чтобы сортировать по дате, а затем по времени?

Спасибо.

Поле определяется как TIMESTAMP (6), без часового пояса.Вот результат сортировки:

10-JAN-11 11.18.36.368000000 AM
09-JAN-11 11.18.33.700000000 AM
08-JAN-11 11.18.33.704000000 AM
07-JAN-11 11.18.33.700000000 AM
06-JAN-11 11.17.40.705000000 AM
05-JAN-11 11.17.42.611000000 AM
04-JAN-11 11.17.40.723000000 AM
02-JAN-11 04.45.09.553000000 PM
01-JAN-11 04.45.08.447000000 PM
31-DEC-10 04.45.08.447000000 PM
30-DEC-10 04.35.22.153000000 PM
29-DEC-10 04.30.25.334000000 PM
12-JAN-11 12.00.00.000000000 AM
11-JAN-11 12.00.00.000000000 AM
10-JAN-11 12.00.00.000000000 AM
09-JAN-11 12.00.00.000000000 AM
08-JAN-11 12.00.00.000000000 AM
07-JAN-11 12.00.00.000000000 AM

Вот запрос:

select period_end from table_name where entity_id=102167 order by period_end desc;

Ответы [ 2 ]

8 голосов
/ 12 января 2011

Dima,

Ваш формат метки времени показывает все компоненты метки времени, кроме одного: столетие.Ваши последние шесть строк должны быть из прошлого века.

С уважением,
Роб.

0 голосов
/ 12 января 2011

Возможно, у вас есть timestamp with timezone.

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