您的SQL语法EXTRACT

时间:2019-03-19 09:20:09

标签: mysql sql

我有以下几行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版本,但看不到错误。有没有类似的经历?

2 个答案:

答案 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()