使用CONCAT拼接字段遇ORA-00909参数数量无效错误求助
ORA-00909 错误解决:Oracle 字符串拼接问题
Oracle 的 CONCAT 函数仅支持两个参数,你传入了三个参数(FIRST_NAME、空格、LAST_NAME),这就是触发 ORA-00909: invalid number of arguments 错误的原因。
有两种方法可以解决这个问题:
方法一:嵌套使用 CONCAT
把前两个参数的拼接结果作为新参数,再和第三个参数拼接:
SELECT HIRE_DATE, FIRST_NAME, LAST_NAME, CONCAT(CONCAT(FIRST_NAME, ' '), LAST_NAME) AS "First and Last name" FROM HR.EMPLOYEES
方法二:使用 Oracle 原生字符串连接符 ||
这是 Oracle 中更常用的多字符串拼接方式,支持直接连接多个字符串,代码更简洁易读:
SELECT HIRE_DATE, FIRST_NAME, LAST_NAME, FIRST_NAME || ' ' || LAST_NAME AS "First and Last name" FROM HR.EMPLOYEES
内容的提问来源于stack exchange,提问作者Максим
相关产品推荐
相关产品推荐

