当前位置: 首页 > 面试题库 >

在Oracle中即时生成编号表

黄弘新
2023-03-14
问题内容

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

如果此查询在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中,我将像此页上的fn_nums函数一样使用CTE 。


问题答案:

这是一种方法:

  SELECT yr
    FROM (    SELECT EXTRACT (YEAR FROM (ADD_MONTHS ( SYSDATE, - ( (LEVEL - 1) * 12)))) yr
                FROM DUAL
          CONNECT BY LEVEL <= 4)
ORDER BY yr;

或者:

  SELECT yr
    FROM (    SELECT  EXTRACT (YEAR FROM sysdate) - (level -1 ) yr
                FROM DUAL
          CONNECT BY LEVEL <= 4)
ORDER BY yr;

或者:

    SELECT yr
      FROM (SELECT EXTRACT (YEAR FROM SYSDATE) - (x - 1) yr
              FROM DUAL
            MODEL
               DIMENSION BY (1 AS z)
               MEASURES (1 x)
               RULES
                  ITERATE (4)
                  (x [ITERATION_NUMBER] = ITERATION_NUMBER + 1))
  ORDER BY yr;


 类似资料:
  • 问题内容: 有没有一种方法可以在python循环中生成变量名并为其分配值?例如,如果我有 我想要 我可以在一个循环或某事做,而不是手动分配,等等。 编辑 许多人建议我写一个要求这样做的理由。首先,有些时候我认为这可能比使用列表更方便…我不记得确切的时间,但是我想我想过在有很多嵌套级别时使用它。例如,如果具有列表列表的列表,则以上述方式定义变量可能有助于降低嵌套级别。第二,今天我在尝试学习使用Pyt

  • 我的工具: Visual Studio 2012最终更新1 重拾器v7。1.25.234 我的解决方案构建状态:构建成功 但是,当我安装ReSharper并且ReSharper代码分析处于启用状态时,我的代码中的许多关键字都因以下错误而变为红色: "无法解析符号XXX" 我项目的另一张照片 ReSharper“无法解析符号”错误无处不在,但我的项目构建过程是成功的,并且工作正常。 附加说明:如果我

  • 我在oracle中有一个列(),类型为,希望使用Hibernate选择此列。我将hibernate映射文件映射为.. 并将VO中的timestamp属性作为Double类型。当我选择一个记录时,时间戳总是返回为NULL。存储在此列中的数据的一个示例是:

  • 问题内容: 使用深度嵌套的python字典,我希望能够在这样的数据结构中分配值: 无需检查mydict [key]等实际上是否设置为dict,例如使用 附属词典的创建应即时进行。允许等效的最优雅的方法是什么-也许在标准上使用装饰器? 问题答案: class D(dict): def missing(self, key): self[key] = D() return self[key]

  • 我在下面的查询中遇到了一个错误,它给出了一个符号(在使用循环的行中)。我正在尝试开发一个函数,该函数将动态参数作为表名、列名、表id,并用于其他表。

  • 我四处寻找,但没有找到一个明确的例子。我想以编程方式(C#)创建一个自签名(自)信任的证书,执行以下步骤: 步骤1: 即时创建根CA证书并将其添加到“受信任的根证书颁发机构”文件夹中的证书存储中 我做到了(参见下面的代码-步骤1)。如何完成第2步?目标计算机是Windows XP/7。 我尝试了纯.NET方法和Bouncy Castle库。