习惯用加号 + 连接字符串,在Oracle中使用加号连接字符串时出现错误。
例如:
SELECT 'AB' + 'CD' FROM DUAL;
会出现以下错误:
[SQL]SELECT 'AB' + 'CD' FROM DUAL
[Err] ORA-01722: invalid number
Oracle把 ‘+’ 号两边的值当做NUMBER类型处理了。
例如,在oracle中运行以下sql就不会报错:
SELECT 3 + 5 FROM DUAL;
该sql会返回8.
那么,需要在oracle中连接字符串中时该怎么处理呢?
- 使用字符串连接函数:
CONCAT()
。例如:SELECT CONCAT('AB', 'CD') FROM DUAL;
- 使用符号
||
。 例如:SELECT 'AB' || 'CD' FROM DUAL;