Возникла странная ситуация с сортировкой по полю timestamp и с получением unix timestamp
Postgresql 9.4
таблица:
=#\dS+ mytable; Таблица "mytable" Колонка | Тип | Модификаторы | Хранилище | Цель для статистики | Описание --------------+-----------------------------+------------------------+-----------+---------------------+---------- id | bigint | NOT NULL | plain | | account_hash | character(40) | NOT NULL | extended | | DATA | text | NOT NULL | extended | | changed | timestamp without time zone | NOT NULL DEFAULT now() | plain | | Индексы: "campaign_raw_pkey" PRIMARY KEY, btree (id, account_hash, changed)
выполняю запрос
SELECT id, changed, extract(epoch FROM changed) unix_epoch FROM mytable ORDER BY id, changed DESC;
получаю результат, последние три строки которого:
5418945 | 2015-07-30 14:54:44.728886 | 1438268084.72889 5418945 | 2015-07-30 14:53:08.200883 | 1438267988.20088 5418945 | 2015-07-30 12:53:45.938284 | 1438260825.93828
ну и как видно сортировка по changed выглядит странно, но еще более странно то, что unix_epoch у второй строки больше, чем у третьей, но при этом changed меньше.
В чем может быть проблема и как так вышло?
Всё нормально в твоих данных.
Всё нормально в твоих данных. Посмотри внимательнее, всё у тебя нормально.
Точно, как-то я слона то и не заметил
Вчера смотрел на вывод и перепробовал ведь несколько запросов в общей сложности по времени минут 20 потратил точно и за все это время не заметить что часы разные, наверное иногда лучше просто отойти от монитора.
Спасибо.