我有一个表格,其中列的数据类型为timestamp
其中包含一天记录的多条记录 我想选择与day
对应的所有行我该怎么做?
答案 0 :(得分:82)
假设您实际上是timestamp
,因为Postgres中没有datetime
将时间戳列转换为日期,这将删除时间部分:
select *
from the_table
where the_timestamp_column::date = date '2015-07-15';
这将从7月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';