#postgresql #timestamp #sql-timestamp
#postgresql #временная метка #sql-временная метка
Вопрос:
Я хочу запросить таблицу базы данных postgres, в которой есть столбец с меткой времени в длинных миллисекундах. Но у меня есть время в формате даты «гггг-ММ-дд ЧЧ: мм: ssZ» вот так. Как я могу преобразовать этот формат даты в длинные миллисекунды для выполнения запроса?
Комментарии:
1. Значения временных меток должны храниться в
timestamp
столбцах, а неbigint
Ответ №1:
Вы можете либо преобразовать ваше длинное значение в правильную временную метку:
select *
from the_table
where to_timestamp(the_millisecond_column / 1000) = timestamp '2020-10-05 07:42'
Или извлеките секунды из значения метки времени :
select *
from the_table
where the_millisecond_column = extract(epoch from timestamp '2020-10-05 07:42') * 1000
Однако лучшим решением является преобразование этого столбца в правильный timestamp
столбец, чтобы избежать постоянного преобразования между (миллисекундами) и правильными timestamp
значениями