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

Oracle SQL中CASE...WHEN语句报‘Missing Expression’错误求排查

修复你的SQL语法错误(Missing Expression)

Hey there, let's fix that "Missing Expression" error in your query—there are two small but critical syntax issues here:

问题1:列名后缺少逗号

你在CREATOR_NUM后面没有加逗号,数据库会误以为你要把CASE表达式作为CREATOR_NUM的参数(像函数调用一样),这直接导致了语法逻辑混乱。

问题2:CASE语句缺少END关键字

所有CASE表达式必须以END收尾,这是SQL的硬性语法规则。缺少它的话,数据库无法识别表达式的结束位置,自然会抛出"Missing Expression"错误。

修正后的完整SQL代码

SELECT 
    ORDER_NUM, 
    BUYER_NUM, 
    CREATOR_NUM,
    CASE 
        WHEN ORDER_CD = 'A' THEN 'Part' 
        WHEN ORDER_CD = 'B' THEN 'Service' 
        WHEN ORDER_CD = 'C' THEN 'Labor' 
        ELSE 'Other' 
    END AS ORDER_TYPE 
FROM tbl_ORDER 
WHERE ORDER_DATE > '01-Jan-2017'

我还帮你把代码做了格式化,结构更清晰,以后排查问题也会更方便。直接运行这个修正后的版本,应该就能正常返回你需要的订单数据了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:12:30