日期间隔函数在sql

时间:2019-11-10 13:39:44

标签: amazon-redshift

我在Redshift中运行有关DATE INTERVAL的简单查询,但是它给出了MONTH的错误。

我的查询如下:

select x,y, (x+y), DATE_ADD(NOW(), INTERVAL +1 MONTH) AS TIMEHERE from calc;

select x,y, (x+y), DATE_ADD(NOW(), INTERVAL 1 MONTH) AS TIMEHERE from calc;

它给我一个类似的错误

Error: near line 6: near "MONTH": syntax error

我不知道是什么错误。

2 个答案:

答案 0 :(得分:0)

在redshift中,您可以向当前日期添加1个月,如下所示:

dateadd(month, 1, getdate()) 

或者,如果您不需要时间部分:

dateadd(month, 1, current_date) 

您也可以这样做:

getdate() + interval '1 month'

或者:

current_date + interval '1 month'

就担忧而言,Redshift中没有date_add()函数。但是,在MySQL中,您可以执行以下操作:

date_add(now(), interval 1 month)

答案 1 :(得分:0)

Redshift-类似于Postgres-wants single quotes around the interval literal。所以:

now() + interval '1 month'

或者因为时间成分可能无关紧要:

current_date + interval '1 month'