strings registros multiple listagg filas convertir concatenar columnas campos sql oracle plsql string-concatenation

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