如何在Teradata SQL Assistant中生成-3、-4、-5、-6、-7数字列表?
在Teradata SQL Assistant生成指定连续负数列表的方法
有两种直接实现的方法可以生成-3、-4、-5、-6、-7这样的数字列表:
方法一:递归CTE生成
递归CTE是最灵活的方式,可以精准控制起始值、步长和结束条件:
WITH recursive_numbers AS ( SELECT -3 AS num -- 起始值 UNION ALL SELECT num - 1 FROM recursive_numbers WHERE num > -7 -- 每次减1,直到达到-7 ) SELECT num FROM recursive_numbers;
方法二:借助系统表生成
利用Teradata自带的sys_calendar.calendar表,通过字段转换得到目标序列:
SELECT -2 - day_of_month AS num FROM sys_calendar.calendar WHERE day_of_month BETWEEN 1 AND 5 ORDER BY num;
这里通过筛选day_of_month的1-5,计算后得到-3到-7,排序后即可得到所需顺序。
以上两种方法都能直接在Teradata SQL Assistant中执行,输出你需要的数字列表。
内容的提问来源于stack exchange,提问作者Virendra
相关产品推荐
相关产品推荐

