我有一个包含 d_date 列的表。在此列中,仅包含日期值。
我的问题是“我想从此列 (d_date) 中找到缺失的日期”。
例子: 此列包含从“1-Jan-2007”到“7-Jan-2007”的日期 然后我想找到“2007 年 1 月 1 日”到“2007 年 1 月 10 日”之间丢失的日期 我的结果应该是“8-Jan-2007”、“9-Jan-2007”、“10-Jan-2007”。
那么,我怎样才能得到这个结果呢?
最佳答案
您可以将使用函数 generate_series(start, stop, step interval)
创建的日期系列与表中的日期进行比较:
SELECT * FROM generate_series('2007-01-01', '2007-01-10', interval '1 day') AS dates
WHERE dates NOT IN (SELECT d_date FROM your_table);
有关函数 generate_series
的更多信息来自 PostgreSQL 文档:9.24. Set Returning Functions .
关于postgresql - 查找缺失的日期 (PostgreSQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28583379/