You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL简单CASE语句触发解析异常,移除第二个WHEN可正常运行

问题排查:CASE语句解析异常原因

你的CASE语句触发解析异常的原因是第二个WHEN分支里的coalesce函数存在括号不匹配的语法错误:

错误代码片段:

coalesce((col3 + col4)/(col5-col6)),0)

这里(col3 + col4)/(col5-col6)的右括号闭合后,多写了一个额外的),导致coalesce函数的参数结构被破坏——coalesce需要至少两个参数,而错误写法里第一个参数还没写完就提前闭合了括号,SQL解析器无法识别正确的函数调用格式。

修正后的第二个WHEN分支代码:

coalesce((col3 + col4)/(col5-col6), 0)

完整修正后的CASE语句:

case when (table.col1 = 'A' and table.col2 = 'X') then 
     coalesce(((col3 + col4)/(col5-col6))/floor(datediff(date('2022-11-11'), date('2022-08-27'))/7),0) 
     when (table.col1 = 'B' and table.col2 = 'X') then 
     coalesce((col3 + col4)/(col5-col6),0) end as final

移除第二个WHEN语句后代码能正常运行,就是因为这个语法错误被排除了。

内容的提问来源于stack exchange,提问作者user18398254

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 22:40:29