Postgres, где предложение сравнивает временную метку
У меня есть таблица, где столбец имеет тип данных timestamp
Что содержит записи нескольких записей за день
Я хочу выбрать все строки, соответствующие дню
Как мне это сделать?
Ответ 1
Предполагая, что вы на самом деле означаете timestamp, потому что в Postgres
нет datetime
Отметьте столбец временной метки на дату, которая удалит временную часть:
select *
from the_table
where the_timestamp_column::date = date '2015-07-15';
Это вернет все строки с 15 июля.
Обратите внимание, что приведенное выше значение не использует индекс на the_timestamp_column. Если производительность критическая, вам нужно либо создать индекс для этого выражения, либо использовать условие диапазона:
select *
from the_table
where the_timestamp_column >= timestamp '2015-07-15 00:00:00'
and the_timestamp_column < timestamp '2015-07-16 00:00:00';