Convertir cadena de Texto en una fila SQL ordenada

Cadena de Texto en una fila SQL ordenada

Muchas veces tenemos almacenado un valor que está separado por un carácter pero en la misma variable o campo, y deseamos pasarlo a filas separado por el carácter indicado.
Para esto podemos utilizar la función de Oracle REGEXP_SUBSTRcon la ayuda de la función CONNECT BY LEVEL.
Te puede interesar✔ Subsidio Madres AQUÍ
Te puede interesar✔ Inscripciones del 1 al 28 Diciembre
🙋‍♀️NUEVO APOYO 500MIL
SUBSIDIO MADRE AQUÍ💰
👉REGISTRATE HOY AQUÍ

SOLICITA BONO 2023👈
NUEVAS INSCRIPCIONES
📆FECHAS DE PAGOS💸
Muchas veces tenemos almacenado un valor que está separado por un carácter pero en la misma variable o campo, y deseamos pasarlo a filas separado por el carácter indicado.
Para esto podemos utilizar la función de Oracle REGEXP_SUBSTRcon la ayuda de la función CONNECT BY LEVEL.

Ejemplo: Se tiene una cadena con los nombres más populares de Colombia, se desea que la cadena aparezca en forma de lista.

–Cadena
Nombres := ‘Enrique,Carlos,Monica’;
–Codigo
declare
 
  nombres varchar2(200) := ‘Enrique,Carlos,Monica’ ;
 
  cursor cur_cadena_a_fila is
  SELECT REGEXP_SUBSTR(nombres, ‘[^’ || ‘,’ || ‘]+’, 1, LEVEL) VALOR
    FROM DUAL
  CONNECT BY REGEXP_SUBSTR(nombres, ‘[^’ || ‘,’ || ‘]+’, 1, LEVEL) IS NOT NULL;
 
begin
  for nombres in cur_cadena_a_fila loop
    dbms_output.put_line(nombres.VALOR);
  end loop;
End;

Output:

Utilizando solo el select en la cadena puede ser.
SELECTREGEXP_SUBSTR(‘Enrique,Carlos,Monica’, ‘[^’ || ‘,’ || ‘]+’, 1, LEVEL) VALOR
    FROM DUAL
  CONNECT BY REGEXP_SUBSTR(‘Enrique,Carlos,Monica’, ‘[^’ || ‘,’ || ‘]+’, 1, LEVEL) IS NOT NULL;

Output:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *