Oracle - ayuda urgente PL SQL extraccion de parte de una cadena de caracteres

   
Vista:

ayuda urgente PL SQL extraccion de parte de una cadena de caracteres

Publicado por javier (14 intervenciones) el 28/12/2017 19:27:55
ayuda

buenas tardes, necesito de una cadena de caracteres separados por espacios extraer la parte que termina en .TXT, necesitaría obtener solo lo que esta subrayado en rojo en la imagen..

muchas gracias desde ya, es de suma urgencia mi puesto de trabajo prácticamente depende de esto
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

ayuda urgente PL SQL extraccion de parte de una cadena de caracteres

Publicado por Yamil Bracho (3 intervenciones) el 28/12/2017 20:03:14
En PL/SQL tienes SUBSTR para extraer un string de otro desde una posicion dada y tienes INSTR para buscar un strign dentro de otro.
No tuve oportunidad de probarlo pero seria algo como:

1
2
3
4
5
6
7
8
9
10
11
12
13
-- Busca primer - en el string que es donde termina el .txt
pos := INSTR( string, '-');
IF pos > 0 THEN
  string := SUBSTR(string, 1, pos);
 
   -- Busca tercer blanco en el string resultante
  pos := INSTR( string, ' ', 1, 3);
 
  IF pos > 0 THEN
    string := substr( string, pos + 1);
  END IF;
 
END IF;
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

ayuda urgente PL SQL extraccion de parte de una cadena de caracteres

Publicado por javier (14 intervenciones) el 28/12/2017 21:04:54
gracias, ahi lo pruebo y te aviso, lo único es que no se como usarlo en función de la tabla, entiendo lo que hiciste, me parece lógico pero todavía no se como hacer esta consulta para la tabla que necesito.. no se si me explico

gracias desde ya
Saludos
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
Imágen de perfil de Ivan

ayuda urgente PL SQL extraccion de parte de una cadena de caracteres

Publicado por Ivan (3 intervenciones) el 28/12/2017 22:28:23
llego tarde pero...
suponiendo que siempre van a existir 4 espacios antes del xxxxxx.txt, un espacio y un guión " -" después del mismo y tomando el ejemplo de Yamil podría ser algo así:

1
2
3
4
5
select TRIM( SUBSTR ( SUBSTR(texto, 1, INSTR( texto, ' -' ) ),
	    INSTR ( SUBSTR ( texto, 1, INSTR( texto, '-' ) ), ' ', 1, 4 ) + 1
	   )
	)
from TABLA
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

ayuda urgente PL SQL extraccion de parte de una cadena de caracteres

Publicado por javier (14 intervenciones) el 29/12/2017 14:32:37
gracias hermano
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

ayuda urgente PL SQL extraccion de parte de una cadena de caracteres

Publicado por Andrés (1 intervención) el 28/12/2017 22:36:48
Puedes usar una expresión regular:

Dada la tabla T1, con la columna C1 que contiene el nombre del archivo como lo muestras en la imagen, la extracción del mismo en un select sería:

1
2
3
4
SELECT
    REGEXP_SUBSTR(C1, '\s([[:alnum:]]+\.txt)') archivo
FROM
   T1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar
Imágen de perfil de Ivan

ayuda urgente PL SQL extraccion de parte de una cadena de caracteres

Publicado por Ivan (3 intervenciones) el 28/12/2017 22:39:13
está mucho mejor!
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

ayuda urgente PL SQL extraccion de parte de una cadena de caracteres

Publicado por javier (14 intervenciones) el 29/12/2017 14:32:04
Andres, esto me funciono a la perfección...!!! eres lo mejor de lo mejor.... gracias amigo...!!!
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
Revisar política de publicidad