我的问题是查询生效日期和失效日期是否连续,也就是 前一条数据的失效日期 + 1 = 后一条数据的生效日期
SELECT M.CODE, M.EFFECTIVE_DATE, M.EXPIRY_DATE, M.RN
FROM (SELECT T.CODE,
T.EFFECTIVE_DATE, -- 生效日期
T.EXPIRY_DATE, -- 失效日期
ROW_NUMBER() OVER(PARTITION BY T.CODE ORDER BY T.EFFECTIVE_DATE DESC) RN
FROM TABLE_01 T) M
取前一条、后一条的函数:LEAD/LAG
日期差异比较:decode(EFFECTIVE_DATE - EXPIRY_DATE, 1, 'T', 'F')