我在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
我不知道是什么错误。
答案 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'