Интервал DATE Функция выдает ошибку в sql - PullRequest
0 голосов
/ 10 ноября 2019

Я выполняю простой запрос для ИНТЕРВАЛА ДАТЫ в моем Redshift, но он выдает ошибку для 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 голосов
/ 10 ноября 2019

Redshift - как Postgres - хочет заключить в одинарные кавычки символ interval . Итак:

now() + interval '1 month'

Или потому что компонент времени, вероятно, не имеет значения:

current_date + interval '1 month'
0 голосов
/ 10 ноября 2019

В режиме красного смещения вы можете добавить 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...