首页 > 解决方案 > Postgresql-检查今天是否在日期数组之外

问题描述

我是 Postgres 的初学者。我想选择今天大于我存储的日期数组的行。

这是我写的不起作用(错误)

    SELECT
    bool_or(now()::date @> a_date) AS some_of_the_dates_lies_within_range
FROM
(SELECT unnest(dateofdeparture) AS a_date from alerts) as S0;

这就是我的行

SELECT unnest(dateofdeparture) AS a_date from alerts

a_date
2019-01-12
2019-01-13
2019-01-14
2019-01-15
2019-01-16
2019-01-17
2019-01-18

任何指针帮助将不胜感激。

标签: postgresql

解决方案


您可能正在寻找类型上的ANYorALL运算符ARRAY

假设这dateofdeparture是一个DATE[]数组,你需要的是

select * from alerts WHERE current_date > ANY (dateofdeparture);

或者

select * from alerts WHERE current_date > ALL (dateofdeparture);

演示


推荐阅读