MySQL - Extraer cadena de un varchar

 
Vista:

Extraer cadena de un varchar

Publicado por Tartanboi (2 intervenciones) el 01/10/2020 09:39:24
Buenas,

Estoy intentando sacar una parte concreta de un campo varchar. El campo contiene valores de este tipo:

001001-0001-000000046274424.par
001001-0001-025889046288965.par
001001-0001-008596788045889.par

Y necesito extraer el valor númerico entre el .par del final y el primer 0 de la izquierda de tal modo que saque esto:


001001-0001-000000046274424.par -> 46274424
001001-0001-025889046288965.par -> 25889046288965
001001-0001-008596788045889.par -> 8596788045889

He mirado y quizás combinando las funciones substring con instr.

Cualquier aportación será de ayuda.

Gracias
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
Imágen de perfil de joel
Val: 569
Plata
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Extraer cadena de un varchar

Publicado por joel (185 intervenciones) el 01/10/2020 11:43:52
Hola, para ello, lo que tienes que utilizar es una expresión regular... https://dev.mysql.com/doc/refman/8.0/en/regexp.html
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

Extraer cadena de un varchar

Publicado por Tartanboi (2 intervenciones) el 01/10/2020 14:56:33
Gracias joel por la respuesta,

He intentado con el comando REGEXP_SUBSTR pero me salta el error: Error Code: 1305. FUNCTION Output_splunk.REGEXP_SUBSTR does not exist

Simplemente he probado el comando con un ejemplo que he encontrado: SELECT REGEXP_SUBSTR('Cat Cut Cot', 'C.t', 2) Result;

Utilizo MySQL Workbench Comunity 8.0.21(la última creo)
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 joel
Val: 569
Plata
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Extraer cadena de un varchar

Publicado por joel (185 intervenciones) el 01/10/2020 17:10:09
Te esta diciendo que no existe el comando... Mira que versión tienes de MySQL:

1
SELECT VERSION;
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 Francisco
Val: 207
Bronce
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Extraer cadena de un varchar

Publicado por Francisco (57 intervenciones) el 01/10/2020 20:06:12
Hola

Prueba con esto

1
2
3
4
5
SELECT CAST(CONVERT(SUBSTRING_INDEX(SUBSTRING_INDEX('001001-0001-000000046274424.par', '-', -1 ),'.',1), SIGNED) AS CHAR(20)) AS valor
UNION ALL
SELECT CAST(CONVERT(SUBSTRING_INDEX(SUBSTRING_INDEX('001001-0001-025889046288965.par', '-', -1 ),'.',1), SIGNED) AS CHAR(20)) AS valor
UNION ALL
SELECT CAST(CONVERT(SUBSTRING_INDEX(SUBSTRING_INDEX('001001-0001-008596788045889.par', '-', -1 ),'.',1), SIGNED) AS CHAR(20)) AS valor;

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