sql - registros - ¿Cuál es el operador de concatenación de cadenas en Oracle?
listagg oracle (4)
Sugeriría concat cuando se trata de 2 cadenas, y || cuando esas cadenas son más de 2:
select concat(a,b)
from dual
o
select ''a''||''b''||''c''||''d''
from dual
¿Cuál 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 preguntándolo).
También hay concat, pero no se usa mucho
select concat(''a'',''b'') from dual;
Es ||
, por ejemplo:
select ''Mr '' || ename from emp;
La única característica "interesante" que puedo pensar es que ''x'' || null
''x'' || null
devuelve ''x''
, no null
como cabría esperar.
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 :: definición de Abc