1、原因:
出现上述问题是因为在Oracle数据库中调用CONCAT()连接字符串的函数时,与MYSQL的CONCAT()函数不同,Oracle的CONCAT()函数只支持两个参数,不支持两个以上字符串的拼接,比如下面的SQL语句在Oracle中是错误的:
SELECT CONCAT('工号为',FNumber,'的员工姓名为',FName) FROM T_Employee
会报ORA-00909: 参数个数无效的错误。
2、解决方法:
如果要进行多个字符串的拼接的话,可以使用多个CONCAT()函数嵌套使用,上面的SQL可以如下改写:
代码如下:
SELECT CONCAT(CONCAT(CONCAT('工号为',FNumber),'的员工姓名为'),FName) FROM
T_Employee
WHERE FName IS NOT NULL
本文解析了Oracle数据库中CONCAT函数仅支持两个参数的限制,不同于MYSQL的多参数支持。通过实例展示了当需要连接多个字符串时,如何通过嵌套CONCAT函数来实现目标,避免ORA-00909错误。
3442

被折叠的 条评论
为什么被折叠?



