none
Cortar un string a partir de una palabra. RRS feed

  • Pregunta

  • Hola, poseo el siguiente string que me permite cortar una cadena, que inicie a partir de la palabra 'Sede:', ahora mi consulta es como hacer para que mi string se corte antes de la palabra 'Paciente:'

    SELECT desObservaciones, Stuff(desObservaciones,1,CharIndex('Sede',desObservaciones)-1,'') AS Initial
    FROM OrdenPagoDetalle 
    WHERE desObservaciones like '%Sede%'
    ORDER BY desObservaciones ;

    Actualmente desplega esto: Sede: Sede Puntarenas Paciente: SHARON LEON CALDERON

    Ocupo que desplegue esto:  Sede: Sede Puntarenas.

    Gracias.

    lunes, 4 de noviembre de 2013 14:03

Respuestas

  • Tu consulta seria :

    DECLARE @t VARCHAR(1000) = 'Reclamo Número: ACCSA0311000010 Sede: Sede Puntarenas Paciente: SHARON LEON CALDERON'
    
    SELECT SUBSTRING(@t, CHARINDEX('Sede', @t), CHARINDEX('Paciente', @t)-CHARINDEX('Sede', @t) )

    martes, 5 de noviembre de 2013 4:27

Todas las respuestas

  • Por ejemplo:

    DECLARE @t VARCHAR(1000) = 'Sede: Sede Puntarenas Paciente: SHARON LEON CALDERON'
    
    SELECT SUBSTRING(@t, 1, CHARINDEX(' Puntarenas', @t) + LEN(' Puntarenas'))

    lunes, 4 de noviembre de 2013 15:41
  • Hola, gracias por contestar el problema es que no todos los pacientes se llaman igual por eso me gustaría ver si hay alguna forma de cortar a partir de 'Paciente:'

    Gracias.

    lunes, 4 de noviembre de 2013 16:09
  • Hola,

    Solo te hace falta cambiar la instruccion por :

    DECLARE @t VARCHAR(1000) = 'Sede: Sede Puntarenas Paciente: SHARON LEON CALDERON'
    
    SELECT SUBSTRING(@t, 1, CHARINDEX(' Paciente', @t))
    

    Saludos desd Peru, Lima

    lunes, 4 de noviembre de 2013 21:42
  • Hola,

    Solo te hace falta cambiar la instruccion por :

    DECLARE @t VARCHAR(1000) = 'Sede: Sede Puntarenas Paciente: SHARON LEON CALDERON'
    
    SELECT SUBSTRING(@t, 1, CHARINDEX(' Paciente', @t))

    Saludos desd Peru, Lima

    Hola pero segun tu código me quedaria algo como esto: 

    Reclamo Número: ACCSA0311000010 Sede:  Cartago 

    Solo me corta Paciente, también requiero cortar todo lo anterior a 'Sede:' 

    Gracias

    lunes, 4 de noviembre de 2013 23:22
  • Tu consulta seria :

    DECLARE @t VARCHAR(1000) = 'Reclamo Número: ACCSA0311000010 Sede: Sede Puntarenas Paciente: SHARON LEON CALDERON'
    
    SELECT SUBSTRING(@t, CHARINDEX('Sede', @t), CHARINDEX('Paciente', @t)-CHARINDEX('Sede', @t) )

    martes, 5 de noviembre de 2013 4:27