在Oracle 10g中有一个数据集包含date_from
和date_to
列(或者更确切地说,只有date_from
列,因为长度是恒定的)。
我需要折叠重叠的间隔,例如这些行:
date_from date_to
2015-01-01 2015-01-10
2015-01-03 2015-01-11
需要变成:
2015-01-01 2015-01-11
我想知道是否有一种方法可以在不使用游标的情况下一次完成这个查询...我的查询很大,在边缘情况下仍然不能折叠所有内容。也许Oracle 10g中有一些SQL扩展可以解决这类问题,我可以使用它们?
2条答案
按热度按时间ztigrdn81#
gojuced72#
我的数据还包含较小的非重叠日期范围,被一个大的日期范围吞没。此解决方案不包括这种情况。例如:
输出将生成4行,即仅生成一行: