Hay varias formas de separar un string en varias partes (tokens) usando un separador determinado. En este caso voy a compartir una forma para hacerlo usando una sentencia sql. Dicha sentencia se podria usar en forma aislada o insertarla en un cursor para poder iterar la lista generada en un bloque PL/SQL.
La siguiente query transforma una lista de nombres separados por / en filas de una tabla:
with t as (select 'Pablo/Juan/Pedro/Anibal' as str from dual)
select DISTINCT REGEXP_SUBSTR (str, '[^/]+', 1, level) as nombre
from t
connect by level <= length(regexp_replace(str,'[^/]+'))+1
NOMBRE
Pedro
Pablo
Juan
Anibal
Esta forma usa solo una sentencia sql con expresiones regulares y subquery factoring (claúsula with) y no requiere de crear paquetes para separar el string o usar por ejemplo funciones como APEX_UTIL.STRING_TO_TABLE que necesita tener las utilidades APEX instaladas.
lunes, 11 de mayo de 2015
Suscribirse a:
Enviar comentarios (Atom)
Soy nueva en la herramienta me gustaría que me ayuden con el resultado obtenido del ejercicio asignarle a una variable string, muchas gracias por la ayuda
ResponderEliminar