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