如何仅按日期从 postgres 的时间戳列中选择?

sag*_*mbu 4 sql postgresql

我有一张桌子。

在此处输入图片说明

如您所见, created_date 列是时间戳字段。现在选择我只想考虑日期值。例如,如果我想从今天开始选择行,我想做以下事情:-

select * from audit_logs where created_date = '2018-11-28';
Run Code Online (Sandbox Code Playgroud)

上面的查询返回 null。可以这样选择吗?

Fah*_*hmi 8

您可以使用date()功能

select * from audit_logs where date(created_date) = '2018-11-28'
Run Code Online (Sandbox Code Playgroud)

  • @sagarlimbu:这不是一个真正的功能。这是编写 [type cast](https://www.postgresql.org/docs/current/sql-expressions.html#SQL-SYNTAX-TYPE-CASTS) 的另一种方式。它与 `created_date::date` 或 `cast(created_data as date)` 相同 (3认同)