¿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.