如何在雪花中将日期格式从 YYYY-MM-DD 更改为 YYYYMM?

问题描述 投票:0回答:1

我正在尝试编写一个雪花查询,该查询具有在(current_month + 6 个月)和(current_month + 12 个月)之间的 where 条件。

当前数据格式为YYYYMM格式

For example: 202307, 202308,202309

我的查询看起来像这样:

select business_month from table1 where business_month between '202308' and '202406'

这里是我使用的sql:

从表 1 中选择 business_month,其中 business_month 在 ADD_MONTHS(current_date,6) 和 ADD_MONTHS(current_date,12) 之间

这个问题是它是按 YYYY-MM-DD 过滤的。

有没有办法将上面查询的日期格式更改为 YYYYMM?

sql snowflake-cloud-data-platform where-clause
1个回答
0
投票

使用

TO_DATE
->
ADD_MONTHS
->
TO_VARCHAR

select business_month 
from table1
where business_month between TO_VARCHAR(ADD_MONTHS(TO_DATE('202308', 'YYYYMM'),6), 'YYYYMM')
                         and TO_VARCHAR(ADD_MONTHS(TO_DATE('202406', 'YYYYMM'),12), 'YYYYMM');

SELECT TO_VARCHAR(ADD_MONTHS(TO_DATE('202308', 'YYYYMM'),6), 'YYYYMM'),
       TO_VARCHAR(ADD_MONTHS(TO_DATE('202308', 'YYYYMM'),12), 'YYYYMM');
-- 202402   202408

或当前日期:

SELECT TO_VARCHAR(ADD_MONTHS(TRUNC(CURRENT_DATE(),'MONTH'),6), 'YYYYMM'),
       TO_VARCHAR(ADD_MONTHS(TRUNC(CURRENT_DATE(),'MONTH'),12), 'YYYYMM');
-- 202308    202402
© www.soinside.com 2019 - 2024. All rights reserved.