Oracle - Funcion para extraer texto

 
Vista:

Funcion para extraer texto

Publicado por VeraLynn (12 intervenciones) el 24/03/2003 19:44:55
Una pregunta
Suponiendo que tengo dos registros con estos valores cada uno "hola | mundo" y "codgo de | ejemplo" como pueden ver cada texto tiene un pipe en medio. mi pregunta es la siguinte: Existe una función de oracle para extraer por separado de cada texto antes del pipe y despues del pipe, es decir una funcion que me de el valor "hola " " mundo" para el primer registro y "codigo de " " ejemplo" para el segundo registro?
agradezco su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Funcion para extraer texto

Publicado por Byron (300 intervenciones) el 24/03/2003 20:26:03
Saludos

Si lo que deseas es simplemente extraer del texto el pipe te recomiendo replace, select replace(campo,'|','') from tabla; donde le digo que reemplace el caracter '|' por un caracter nulo, es decir que lo borre.

Pero si lo que deseas es extraer ese campo dividido en 2 campo, deberas ingeniar haciendo uso de tres funciones Substr, Instr y Length, ejemplo: select substr(campo,1,instr(campo,'|')-1) as campo_a, substr(campo,instr(campo,'|')+1,length(campo)-instr(campo,'|')+1) as campo_b from tabla;

Aunque seria recomendable que crees la funcion, de esa forma te evitas hacer un instr() varias veces, sino que lo almacenas en una variable.

Espero sea de tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

GRACIAS

Publicado por VeraLynn (12 intervenciones) el 24/03/2003 23:13:13
Gracias
Es o que buscaba !!!
el query quedo así:
Select
substr(b.description,1,instr(b.description,'|')-1) Desc_Familia,
substr(b.description,instr(b.description,'|')+1) Desc_SubFamilia
from tabla_familias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 3 puestos en Oracle (en relación al último mes)
Gráfica de Oracle

RE:Funcion para extraer texto

Publicado por Luis Alberto (4 intervenciones) el 22/08/2019 20:49:07
Hola Byron,

Como harías si quieres extraer un campo especifico con múltiple caracteres, es decir

123|456|789|123456789|987654321

Quiero el valor de 789.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar