Postgres日期时间字段

时间:2016-10-18 13:01:37

标签: sql postgresql datetime postgresql-9.4 unique-index

我有一个表event_logs,其中有两列我感兴趣的列,我想创建一个索引。问题是其中一列是一个日期时间字段,对于我们使用它的99%的内容都很好,因为它存储了给定事件的日期和时间。

但是我想创建一个唯一的索引,这样就无法在同一个日期(不是日期时间,只是日期)与同一个人创建两个事件。

  • quiz_master_id(整数)
  • start_at(datetime)

甚至可以做这样的思考来为给定日期而不是日期时间创建这样一个唯一索引?或者在Postgres中有另外类似的方法来解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

是的,你只想要一个表达式的索引:

create unique index idx_eventlogs_startatdate
    on event_logs(date_trunc('day', start_at))