習慣用加号 + 連接配接字元串,在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;