У вас есть ошибка в вашем синтаксисе SQL EXTRACT - PullRequest
1 голос
/ 19 марта 2019

У меня есть следующая строка кода SQL:

,sum(if(extract(year_month from x.now_date) = extract(year_month from @chosen_date- interval 1 month) ,1,0)) as Now

, которая приводит к этой ошибке:

В синтаксисе SQL имеется ошибка;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом, сумма (если (extract (year_month from x.now_date) = extract (year_mont '..

Я пытался проверить)версия сервера sql, но я не смог понять, в чем ошибка. У кого-нибудь есть подобный опыт?

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

Ваша ошибка перед этой строкой кода.Сообщение об ошибке показывает код, в котором анализатор запутывается.Это не обязательно включает код, который вызывает ошибку.

В любом случае вы можете упростить логику:

sum(extract(year_month from x.now_date) = 
    extract(year_month from @chosen_date - interval 1 month)
   ) as Now

То есть if() не требуется в MySQL.

0 голосов
/ 19 марта 2019

используйте синтаксис mysql, вы отключили mysql, но используете другой синтаксис

sum(if(year(x.now_date) = year(DATE_SUB(@chosen_date,interval 1 month)) ,1,0)) as Now
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...