¿Cómo escapo un signo de porcentaje en T-SQL?


Respuestas:


285

Use corchetes. Entonces para buscar el 75%

WHERE MyCol LIKE '%75[%]%'

Esto es más simple que ESCAPE y común a la mayoría de los RDBMS.


2
También tenga en cuenta que no tiene que escapar de un símbolo de porcentaje en otras construcciones, como una función del usuario, la concatenación, etc.
— Bron Davies


2
También se puede escapar el carácter comodín de subrayado también: [_]. ¿Cómo escapas del corchete abierto entonces? De esta manera: [[]. sqlserver2000.databases.aspfaq.com/…
— Csaba Toth

El uso de la cláusula ESCAPE es más fácil de entender que el mecanismo de cotización con daño cerebral de MS.
— Suncat2000

52

Puede usar la ESCAPEpalabra clave con LIKE. Simplemente anteponga el carácter deseado (por ejemplo, '!') A cada uno de los %signos existentes en la cadena y luego agregue ESCAPE '!'(o el carácter que elija) al final de la consulta.

Por ejemplo:

SELECT *
FROM prices
WHERE discount LIKE '%80!% off%'
ESCAPE '!'

Esto hará que la base de datos trate el 80% como una parte real de la cadena de búsqueda y no el 80 (comodín).

Documentos de MSDN para LIKE



Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.