Snowflake cloud data platform 雪花-计算季度的第几天

Snowflake cloud data platform 雪花-计算季度的第几天,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,Snowflake有一个简单的函数Quartertimestamp,它返回当前季度,但不知道如何进行QTR,所有教程都参考Postgres/sql server 目标-创建一个日期表,并显示未来20年的季度日期 SELECT column1::timestamp as d, DATE_TRUNC('QUARTER',d) as q, DATEDIFF('day',q, d) as doq FROM VALUES ('2019-10-30'),('2019-10-01'); 为季

Snowflake有一个简单的函数Quartertimestamp,它返回当前季度,但不知道如何进行QTR,所有教程都参考Postgres/sql server

目标-创建一个日期表,并显示未来20年的季度日期

SELECT column1::timestamp as d,
    DATE_TRUNC('QUARTER',d) as q,
    DATEDIFF('day',q, d) as doq
FROM VALUES ('2019-10-30'),('2019-10-01');
为季度的第一天提供0,因此如果需要将其设置为1,则可以+1该datadiff

D                         Q                         DOQ
2019-10-30 00:00:00.000   2019-10-01 00:00:00.000   29
2019-10-01 00:00:00.000   2019-10-01 00:00:00.000   0 
[编辑:]在重新阅读您的20年目标表后,以下是我过去在snowflake中使用的一些代码:

CREATE OR REPLACE TABLE twenty_years_of_days(date) AS
    SELECT DATEADD(day, rn, CURRENT_DATE) as date,
          DATE_TRUNC('QUARTER',date) as quarter,
          DATEDIFF('day',quarter, date) as doq
    FROM (
        SELECT row_number() over(order by 1) as rn
        FROM TABLE(GENERATOR(rowCount => 365*20)) v
    );
为季度的第一天提供0,因此如果需要将其设置为1,则可以+1该datadiff

D                         Q                         DOQ
2019-10-30 00:00:00.000   2019-10-01 00:00:00.000   29
2019-10-01 00:00:00.000   2019-10-01 00:00:00.000   0 
[编辑:]在重新阅读您的20年目标表后,以下是我过去在snowflake中使用的一些代码:

CREATE OR REPLACE TABLE twenty_years_of_days(date) AS
    SELECT DATEADD(day, rn, CURRENT_DATE) as date,
          DATE_TRUNC('QUARTER',date) as quarter,
          DATEDIFF('day',quarter, date) as doq
    FROM (
        SELECT row_number() over(order by 1) as rn
        FROM TABLE(GENERATOR(rowCount => 365*20)) v
    );

我真的没有从你的描述中看出你想要什么。如果这不是一个遗漏的问题,我会问另一个问题,并展示一些输入和期望输出的例子。。这使得评论中缺少格式太难了。不用担心,我一天就解决了,但我把你的答案作为答案核对了一下。又来了!我真的没有从你的描述中看出你想要什么。如果这不是一个遗漏的问题,我会问另一个问题,并展示一些输入和期望输出的例子。。这使得评论中缺少格式太难了。不用担心,我一天就解决了,但我把你的答案作为答案核对了一下。又来了!