web-dev-qa-db-fra.com

Quel est l'opérateur de concaténation de chaînes dans Oracle?

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).

164
AJ.

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.

222
Tony Andrews

Il y a aussi concat, mais il ne s'habitue pas beaucoup

select concat('a','b') from dual;
58
Gary Myers

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
9
Fabio Fantoni
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

5
Ankur