none
Error en consulta SQL (varchar que tiene []) RRS feed

  • Pregunta

  • Buenos días: 

    Estaba tratando de usar en una consulta con algo que contenía el ejemplo que les pongo.

    DECLARE
    @t VARCHAR(1000) = 'prueba de consulta [prueba]'
    
    SELECT 1
    WHERE @t like @t

    Falla por usar el carácter [] y cuando pongo "like", si pongo "=" sale perfecto....pero necesito que sea con "like". Alguien me podría sugerir como lograr que devuelva verdadero aunque haya "[]" en la cadena. Si pongo"()" funciona perfecto la consulta, pero es que mis clientes son un poco "especiales".

    gracias



    Roberlan

    viernes, 28 de febrero de 2020 11:00

Respuestas

  • Buenas Roberlan

    Las cadenas requieren un tratamiento previo, debido a que los corchetes son caracteres comodín, como el "%".

    Así pues antes de los caracteres comodín tendrás que escaparlos para que se comporten como carácter de la cadena a comparar.

    declare @t nvarchar(max) = 'prueba de consulta #[prueba#]'
    declare @t2 nvarchar(max) = 'prueba de consulta [prueba]'

    SELECT 1 WHERE @t2 like @t escape '#' 

    • Marcado como respuesta Rober2015 viernes, 28 de febrero de 2020 13:25
    viernes, 28 de febrero de 2020 12:47