天天看點

Oracle 字元串追加

習慣用加号 + 連接配接字元串,在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中連接配接字元串中時該怎麼處理呢?

  1. 使用字元串連接配接函數:

    CONCAT()

    。例如:

    SELECT CONCAT('AB', 'CD') FROM DUAL;

  2. 使用符号

    ||

    。 例如:

    SELECT 'AB' || 'CD' FROM DUAL;