¿Qué es el operador de concatenación de cadenas en Oracle?


¿Qué es el operador de concatenación de cadenas en Oracle SQL?

¿Hay alguna característica "interesante" de la que deba tener cuidado?

(Esto parece obvio, pero no pude encontrar una pregunta previa que lo hiciera).

Author: Mahi_0707, 2008-11-10

4 answers

Es ||, por ejemplo:

select 'Mr ' || ename from emp;

La única característica "interesante" que se me ocurre es que 'x' || null devuelve 'x', no null como quizás esperarías.

 197
Author: Tony Andrews,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-03 10:07:33

También hay concat, pero no se usa mucho

select concat('a','b') from dual;
 56
Author: Gary Myers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-11-10 22:09:11

Sugeriría concat cuando se trata de 2 cuerdas | y / / cuando esas cuerdas son más de 2:

select concat(a,b)
  from dual

O

  select 'a'||'b'||'c'||'d'
        from dual
 7
Author: Fabio Fantoni,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-22 13:39:01
DECLARE
     a      VARCHAR2(30);
     b      VARCHAR2(30);
     c      VARCHAR2(30);
 BEGIN
      a  := ' Abc '; 
      b  := ' def ';
      c  := a || b;
 DBMS_OUTPUT.PUT_LINE(c);  
   END;

Salida:: Abc def

 5
Author: Ankur,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-14 13:22:33