gpt4 book ai didi

sql - oracle 的超前和滞后功能的 Teradata 等价物

转载 作者:行者123 更新时间:2023-12-04 14:17:48 25 4
gpt4 key购买 nike

我一直在努力查看 Oracle 领先和滞后功能的等效功能。

oracle 领导看起来像

LEAD(col1.date,1,ADD_MONTHS(col1.DATE,12)) 
OVER(Partition By tab.a,tab.b,tab.c Order By tab.a)-1 END_DATE

LAG(col1.DATE + 7,1,col1.DATE-1)
OVER(partition by tab.a,tab.b Order By tab.b) LAG_DATE

任何更好的主意

最佳答案

相信你可以以下面的SQL为基础,进行修改以满足你的需求:

SELECT CALENDAR_DATE
, MAX(CALENDAR_DATE)
OVER(PARTITION BY 1 ORDER BY CALENDAR_DATE
ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS Lag_ --Yesterday
, MIN(CALENDAR_DATE)
OVER(PARTITION BY 1 ORDER BY CALENDAR_DATE
ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) AS Lead_ --Tomorrow
FROM SysCalendar.CALENDAR
WHERE year_of_calendar = 2011
AND month_of_year = 11

如果之前或之后没有记录,则返回 NULL,并且可以根据需要使用 COALESCE 进行寻址。

编辑 在 Teradata 16.00 中引入了 LAG/LEAD 功能。

关于sql - oracle 的超前和滞后功能的 Teradata 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8124756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com