Cadena de caracteres en SQL

Tengo la siguiente cadena:
63040 LUN. A SAB. 3HD, 4HN
Deseo extraer de la misma los caracteres numéricos que están después del punto (en código sql).
¿Tendrás la respuesta?

1 respuesta

Respuesta
1
¿Después de qué punto? ¿Quieres obtener "3HD, 4HN" o sólo los números? Especifica un poco más exactamente qué es lo que quieres obtener para ayudarte mejor.
El campo del que te habo mención guarda la jornada diaria de los trabajadores. Necesito extraer de la misma la cantidad de horas diurnas (HD) y nocturnas (HN) que tiene el trabajador. En este caso 63040 LUN.A SAB. 3HD, 4HN el trabajador tiene 3 hd y 4 hn, hay otros casos en que tiene 5.5 hd y 5.5 hn. Entonces necesito contar con un código que me permita extraer ese número de horas de la cadena.
A ver. Intentar manipular cadenas en SQL server es bastante complejo, y para ello lo mejor es utilizar stored procedures. En cualquier caso, si necesitas los valores numéricos, la cadena está guardada en un campo llamado "texto", y delante del número que necesitas siempre hay un espacio, te puede servir la siguiente consulta:
select cast(replace(reverse(substring(reverse(texto),charindex(',',reverse(texto))+1,charindex(' ',reverse(texto),charindex(',',reverse(texto))+1)-charindex(',',reverse(texto)))),'HD','') as float) as Diurno, cast(replace(reverse(left(reverse(texto),charindex(',',reverse(texto))-1)),'HN','') as float) as Nocturno from...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas