递增日期 - SQL(雪花)
Posted
技术标签:
【中文标题】递增日期 - SQL(雪花)【英文标题】:Incrementing Date - SQL(Snowflake) 【发布时间】:2021-08-04 10:48:19 【问题描述】:我想通过在单个查询中拉入 Snowflake 中的当前日期来增加/减少年、日、月? 例如
假设当前系统日期 - 04082021 我想将其设为 05092022。我尝试了 dateadd 函数,但我想它只允许一次增加一个部分,即年或月或日。
有可能吗?如果不是,还有其他选择吗?
【问题讨论】:
【参考方案1】:如果要使用DATEADD
函数,代码如下:
SELECT DATEADD(YEAR,+1,DATEADD(MONTH,+1,DATEADD(DAY,+1,CURRENT_DATE())));
从2021-08-04
返回2022-09-05
如果你想保持你的格式,请使用以下代码
SELECT TO_CHAR(DATEADD(YEAR,+1,DATEADD(MONTH,+1,DATEADD(DAY,+1,CURRENT_DATE()))),'DDMMYYYY');
【讨论】:
它确实添加了日期,但我想保留格式 如果你想保持你的格式,请使用下面的代码 SELECT TO_CHAR(DATEADD(YEAR,+1,DATEADD(MONTH,+1,DATEADD(DAY,+1,CURRENT_DATE()))) ,'DDMMYYYY'); 请使用格式代码以获得更好的可见性【参考方案2】:我会在你的部分做算术:
select current_date + interval '1 year' + interval '1 month' + interval '1 day'
你也可以使用:
select current_date + interval '1 year, 1 month, 1 day'
【讨论】:
它可以很好地增加价值,但有两个问题。 1. 格式必须没有连字符,这是单向的,我可以增加值或减少值,但不能两者兼而有之。以上是关于递增日期 - SQL(雪花)的主要内容,如果未能解决你的问题,请参考以下文章