gpt4 book ai didi

sql - 在 Oracle 中即时构建数字表

转载 作者:行者123 更新时间:2023-12-02 06:43:24 25 4
gpt4 key购买 nike

如何根据当前日期返回包含过去四年的行集?

如果此查询在 2010 年 12 月 31 日运行,它应该返回:

2007
2008
2009
2010

但如果它在 2011 年 1 月 1 日运行,它应该返回:

2008
2009
2010
2011

这是我开始的,两个返回起始年份的查询。我更喜欢第二种,因为转换为字符串对我来说有点脏。

SELECT TO_CHAR(TRUNC(sysdate, 'YY') - INTERVAL '3' YEAR, 'YYYY') FROM DUAL;
SELECT EXTRACT (YEAR FROM sysdate) - 3 FROM DUAL;

但我不知道如何生成行来充实这一点。在 SQL Server 中,我会使用 the fn_nums function on this page 中的 CTE。 .

最佳答案

要显示从 1 到 100 的数字:

SELECT  LEVEL 
FROM DUAL
CONNECT BY LEVEL <= 100
ORDER BY LEVEL

要更改最大值,请在第三行更改。

关于sql - 在 Oracle 中即时构建数字表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4521906/

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