ORA-00909: 参数数量无效

JD2*_*D23 4 sql oracle

也许我把括号或逗号放错了?我知道这是一个相当新手的问题,所以我提前道歉。我最初有这个代码:

es3.last_name || ', ' ||SUBSTR(es3.first_name,1,1)
Run Code Online (Sandbox Code Playgroud)

但是 es3 是左外连接,所以所有空白都显示“,”,所以我在下面尝试了这个,但收到错误

ORA-00909: 参数数量无效

NVL(es3.last_name, ' ' , es3.last_name || ', ' ||SUBSTR(es3.first_name,1,1))
Run Code Online (Sandbox Code Playgroud)

谢谢!

Aar*_*etz 5

从文档中:

Oracle/PLSQL 中 NVL 函数的语法为:

NVL( string1, replace_with )

您正在向其提供 3 个参数,因此会出现错误消息。我相信你想要这个:

CASE WHEN es3.last_name IS NULL
     THEN ''
     ELSE es3.last_name || ', ' ||SUBSTR(es3.first_name,1,1)
END
Run Code Online (Sandbox Code Playgroud)