Postgres where子句比较时间戳

时间:2015-07-15 11:44:07

标签: postgresql

我有一个表格,其中列的数据类型为timestamp

其中包含一天记录的多条记录 我想选择与day

对应的所有行

我该怎么做?

1 个答案:

答案 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';