Buen día, necesito extraer solo el texto de un campo que esta dentro de unas comillas en sql

Tengo un campo con la siguiente cadena de caracteres: TRA=T3599 /POS=564 /INF="Necesito Extraer Esto" /VEL=32

Y necesito extraer los caracteres que están dentro de las comillas, es decir: Necesito Extraer Esto . He utilizado la función SUBSTRING(Parámetros, CHARINDEX('"', Parámetros, 1) + 1, 21) AS Información, pero el problema es que tengo registros donde la longitud es mayor y otros donde la longitud es es menor de 21 caracteres.

1 respuesta

Respuesta
1

Como bien has dicho has de usar el método SUBSTRING para obtener el valor que quieres. Como no sabes la posición inicial ni la final ya que puede variar podrías usar PATINDEX para obtener las posiciones de "INF" y "VEL" respectivamente y hacer el substring.

Si el campo string es el llamado "Parámetros" podrías sacarlo así:

SELECT SUBSTRING(Parámetros,
PATINDEX('%INF%', Parámetros)+4,
PATINDEX('%VEL%', Parámetros)-PATINDEX('%INF%', Parámetros)-5)

De este modo sacas el valor entre INF y VAL independientemente de la posición de ambos y corrigiendo los espacios.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas