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

SQL中按性别拼接MR/MS与全名时语法错误排查求助

SQL语法错误排查与修正

你的SQL语句存在括号不匹配问题,导致语法报错,具体问题和修正方案如下:

错误点分析

每个then和else分支里的upper(concat(...))表达式都缺少闭合的右括号:

  • 内层concat(customer_fname,customer_lname)需要一个右括号闭合
  • 外层concat('MR. ', ...)也需要一个右括号闭合
  • 加上upper()本身的闭合括号,每个分支的表达式末尾需要补充两个右括号

修正后的SQL语句

select customer_id,
case
 when o.customer_gender = 'M' then upper(concat('MR. ', concat(customer_fname, customer_lname)))
 else upper(concat('MS. ', concat(customer_fname, customer_lname)))
end as Customer_Full_name
from online_customer o;

额外优化建议

如果你的SQL支持多参数concat(如MySQL、PostgreSQL等),可以简化嵌套的concat为单一层级,提升可读性:

select customer_id,
case
 when o.customer_gender = 'M' then upper(concat('MR. ', customer_fname, customer_lname))
 else upper(concat('MS. ', customer_fname, customer_lname))
end as Customer_Full_name
from online_customer o;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 19:37:00