我有以下几行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服务器版本以使用正确的语法 接近,sum(if(if(extract(year.month from x.now_date)= 提取物(year_mont'..
我试图检查服务器的sql版本,但看不到错误。有没有类似的经历?
答案 0 :(得分:0)
使用mysql语法,您已经标记了mysql但使用了不同的语法
sum(if(year(x.now_date) = year(DATE_SUB(@chosen_date,interval 1 month)) ,1,0)) as Now
答案 1 :(得分:0)
您的错误在此代码行之前。错误消息显示了解析器感到困惑的代码。它不一定包含导致错误的代码。
在任何情况下,您都可以简化逻辑:
sum(extract(year_month from x.now_date) =
extract(year_month from @chosen_date - interval 1 month)
) as Now
也就是说,在MySQL中不需要if()
。