【问题标题】:How to retrieve the rows between two dates in PostgreSQL?如何在 PostgreSQL 中检索两个日期之间的行?
【发布时间】:2021-05-25 23:13:03
【问题描述】:

如何在 PostgreSQL 中检索两个日期之间的行?

ID        START_DATE        END_DATE

1         02/03/2020       02/03/2021

2         05/04/2020       NULL

在上面的例子中,end_date 列是NULLABLE

我想使用介于START_DATEEND_DATE 之间的date 检索行。 Endate NULL 被认为是infinite

我不知道如何将单个 date 输入传递给 two 列并处理 NULL

【问题讨论】:

    标签: java sql postgresql date postgresql-13


    【解决方案1】:

    如果您使用 Postgres,您可以使用 infinity 作为结束值。我建议使用它而不是NULL。这在documentation 中有解释。

    与此同时,您可以:

    date >= start_date and
    (date < end_date or end_date is null)
    

    我不确定end_date 是否包含在内,所以这可能是&lt;=

    【讨论】:

      猜你喜欢
      • 2013-09-03
      • 2012-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多