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

为何CASE WHEN ELSE语句出现error code 1064?附需求及错误SQL

错误原因及修正方案

错误原因

  • CASE语句未闭合:SQL的CASE表达式必须以END关键字收尾,你的代码里漏掉了END,这是触发1064语法错误的直接原因。
  • 逻辑条件搞反:需求是年龄大于40返回"Yes",但你写的是age < 40 then 'Yes',和需求逻辑完全相反。
  • 字符串大小写不符:ELSE分支返回的'NO'和需求要求的'No'大小写不一致(语法上没问题,但不符合需求预期)。

修正后的SQL语句

SELECT patient_id, patient_name,
  CASE
    WHEN age > 40 THEN 'Yes'
    ELSE 'No'
  END AS age_over_40
FROM patients;

补充说明:

  • 补上END关键字闭合CASE表达式
  • 将判断条件改为age > 40匹配需求逻辑
  • 统一返回字符串的大小写为'Yes'和'No'
  • 给CASE表达式添加别名age_over_40,方便识别返回列的含义

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 16:15:41