Qual è l’operatore di concatenamento delle stringhe in Oracle?

Qual è l’operatore di concatenazione di stringhe in Oracle SQL?

Ci sono delle caratteristiche “interessanti” di cui dovrei fare attenzione?

(Questo sembra ovvio, ma non sono riuscito a trovare una domanda precedente che lo chiedesse).

È || , per esempio:

 select 'Mr ' || ename from emp; 

L’unica caratteristica “interessante” che riesco a pensare è che 'x' || null 'x' || null restituisce 'x' , non null come forse ti aspetteresti.

C’è anche concat, ma non si abitua molto

 select concat('a','b') from dual; 

Vorrei suggerire concat quando si tratta di 2 stringhe, e || quando quelle stringhe sono più di 2:

 select concat(a,b) from dual 

o

  select 'a'||'b'||'c'||'d' from dual 
 DECLARE a VARCHAR2(30); b VARCHAR2(30); c VARCHAR2(30); BEGIN a := ' Abc '; b := ' def '; c := a || b; DBMS_OUTPUT.PUT_LINE(c); END; 

uscita :: Abc def