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

Oracle中编写多返回值CASE WHEN语句报缺失关键字错误如何解决

正确CASE WHEN实现代码
SELECT 
  login_id,
  CASE WHEN login_id = 'Thomas' THEN lastnm ELSE Secondarylastnm END AS lastname,
  CASE WHEN login_id = 'Thomas' THEN ssn ELSE Secondaryssn END AS SocialSecurityNumber
FROM Employees;
原代码报错原因
  • 单个CASE WHEN是单行单值表达式,一次只能返回一个值,无法同时返回两个字段的结果,需要针对lastname和SocialSecurityNumber两个字段分别写独立的CASE WHEN逻辑
  • 别名AS语法要放在整个CASE WHEN ... END结构的后面,不能写在THEN/ELSE子句内部
  • ELSE关键字后面不需要再加THEN,属于语法冗余触发了缺失关键字报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:42:01