Quel est l'opérateur de concaténation de chaînes dans Oracle SQL?
Existe-t-il des fonctionnalités "intéressantes" auxquelles je devrais faire attention?
(Cela semble évident, mais je ne trouvais pas une question précédente la posant).
C'est ||
, par exemple:
select 'Mr ' || ename from emp;
La seule fonctionnalité "intéressante" à laquelle je puisse penser est que 'x' || null
renvoie 'x'
, et non null
comme on pourrait s'y attendre.
Il y a aussi concat, mais il ne s'habitue pas beaucoup
select concat('a','b') from dual;
Je suggérerais concat lorsqu'il s'agit de 2 chaînes, et || quand ces chaînes ont plus de 2:
select concat(a,b)
from dual
ou
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;
sortie :: Abc def