Oracle SQL ORA-00907:CASE语句中缺少右括号错误
我正在使用select子句中的以下CASE语句执行查询:Oracle SQL ORA-00907:CASE语句中缺少右括号错误,sql,oracle,case-statement,Sql,Oracle,Case Statement,我正在使用select子句中的以下CASE语句执行查询: select (case instr(listagg(D.first_name, ',') within group (order by D.first_name), ',') when 0 then substr(listagg(D.first_name, ',') within group (order by D.first_name), 1) else substr(listagg(D.first_name,
select (case instr(listagg(D.first_name, ',')
within group (order by D.first_name), ',')
when 0
then substr(listagg(D.first_name, ',')
within group (order by D.first_name), 1)
else substr(listagg(D.first_name, ',')
within group (order by D.first_name), 1, instr(listagg(D.first_name, ',')
within group (order by D.first_name), ',') - 1) end) Advisor1FName
from ....
SQL开发人员抛出ORA-00907缺少右键错误
出什么事了?如果您有任何帮助,我们将不胜感激。将整个listag函数括在括号中即可解决此问题。奇怪的是,他们被要求,但这就是解决问题的原因 所以 变成
substr((listagg(D.first_name, ',')
within group (order by D.first_name)), 1)
看起来不错。您可以尝试将所有内容替换为*并再次尝试确保我们看到的减法有问题可能在
案例
@Jens结尾缺少结束
。\n抱歉,复制时“结束”关键字可能已消失。“end”确实存在于查询中,同样的问题也存在。我正在回滚您的编辑。添加“已解决”并解决您的问题不是StackOverflow的工作原理(它是一个“问答”网站,这意味着一个问题被发布,然后在标有“您的答案”的空间中得到回答)。如果你想为未来的读者发布解决方案,你可以;您甚至可以自己接受它,认为它是正确的。:-)
substr((listagg(D.first_name, ',')
within group (order by D.first_name)), 1)