Postgres Дата Сравнение с отметкой времени ISO - PullRequest
0 голосов
/ 24 марта 2020

Когда я выполняю запрос> than для поля timestampz, кажется, что он включает в себя даты, равные дате, с которой я запрашиваю. По крайней мере, когда я сравниваю со строкой даты ISO?

   select
     created,
     to_char(created, 'MI:SS:MS')
   from
    private.event
   where
    created > '2020-03-24T05:14:08.082Z'

Результаты

created            |to_char  |
-------------------|---------|
2020-03-24 18:14:08|14:08:082|
2020-03-24 18:14:08|14:08:180|

Я не ожидаю первой строки в этом результате.

К вашему сведению, если я настрою запрос так, чтобы он сравнивался с '2020-03-24T05:14:08.083Z', он исчезнет.

Кто-нибудь знает, что здесь происходит?

1 Ответ

1 голос
/ 24 марта 2020

Postgres отметки времени имеют микросекундное разрешение , даже если они отображаются с разрешением в миллисекундах. Таким образом, вы эффективно ищете >'2020-03-24T05:14:08.082000Z', в то время как первый результат, вероятно, не равен нулю в одной или нескольких из последних трех скрытых цифр.

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