分析函数lag 和 lead 是oracle 函数中比较有用的函数,
当需要查找当前行的下N行记录时需要lag函数,而当需要查询当前行的上N行记录时需要lead函数,这两个函数是偏移量函数,其用途是:可以查出同一字段下一个值或上一个值,并作为新列存在表中。
eg:
SELECT C.CM_AVL_DT,
NVL(LAG(C.CM_AVL_DT, 1)OVER(PARTITION BY C.CM_CURR_COD,
C.CM_INTR_TYP ORDER BY C.CM_AVL_DT DESC),
DATE '9999-12-31') CM_END_DT
FROM O_CBOD_FCMDAT2 C
ORDER BY C.CM_AVL_DT DESC
--该语句实现了把生效日(.CM_AVL_DT)的上个日期(即比这个日期大的日期)赋值给失效日(CM_END_DT),当没有比当前日期大的日期时就赋值 DATE '9999-12-31' 作为失效日
本文介绍了Oracle数据库中的lag函数,该函数用于查询当前行的上N行记录。通过一个具体示例展示了如何使用lag函数来获取指定字段的前一行值,并将其作为新列添加到表中,从而帮助解决实际业务问题。
3848

被折叠的 条评论
为什么被折叠?



