【问题标题】:Printing a pattern of alphanumeric numbers in Oracle sql在 Oracle sql 中打印字母数字模式
【发布时间】:2023-02-07 02:23:53
【问题描述】:

如何在 sql select 语句中创建一个临时表,该表将包含字母数字列表。

从 temp 中选择 yearlyQuarters;

2023Q1
2022Q4
2022Q3
2022Q2
2022Q1
2021Q4
2021Q3
2021Q2
2021Q1
......

我尝试将临时数据创建为

WITH t(n) AS (
   SELECT 1900 from dual
   UNION ALL
   SELECT n+1 from t WHERE n < 3000)
SELECT * FROM t;

我不确定如何将季度详细信息添加到数字中。

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    您可以将结果与季度交叉连接。例如:

    WITH t(n) AS (
       SELECT 2000 from dual
       UNION ALL
       SELECT n+1 from t WHERE n < 2003)
    SELECT t.n || 'Q' || y.q
    FROM t
    cross join (
      select 1 as q from dual
      union all select 2 from dual
      union all select 3 from dual  
      union all select 4 from dual  
    ) y
    

    结果:

    T.N||'Q'||Y.Q
    -------------
    2000Q1
    2000Q2
    2000Q3
    2000Q4
    2001Q1
    2001Q2
    2001Q3
    2001Q4
    2002Q1
    2002Q2
    2002Q3
    2002Q4
    2003Q1
    2003Q2
    2003Q3
    2003Q4
    

    请参阅db<>fiddle 中的示例。

    【讨论】:

      猜你喜欢
      • 2016-05-17
      • 2022-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-16
      • 2018-06-08
      • 1970-01-01
      相关资源
      最近更新 更多