也许我把括号写错了还是逗号错了?我知道这是一个相当新手的问题,因此我提前致歉。我最初有以下代码:

es3.last_name || ', ' ||SUBSTR(es3.first_name,1,1)


但是es3是左外部联接,因此所有空格都显示',',因此我在下面尝试了此操作并收到错误消息


ORA-00909:参数数量无效


NVL(es3.last_name, ' ' , es3.last_name || ', ' ||SUBSTR(es3.first_name,1,1))


谢谢!

最佳答案

从文档中:

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

10-07 15:07