Cette question a également la réponse , mais elle mentionne spécifiquement DB2.
Comment rechercher une chaîne en utilisant LIKE
qui contient déjà un %
symbole de pourcentage ? L' LIKE
opérateur utilise des %
symboles pour désigner des caractères génériques.
sql-server
tsql
Jedidja
la source
la source
[_]
. Comment échapper alors au crochet carré ouvert? Comme ceci:[[]
. sqlserver2000.databases.aspfaq.com/…Vous pouvez utiliser le
ESCAPE
mot - clé avecLIKE
. Ajoutez simplement le caractère souhaité (par exemple «!») À chacun des%
signes existants dans la chaîne, puis ajoutezESCAPE '!'
(ou le caractère de votre choix) à la fin de la requête.Par exemple:
SELECT * FROM prices WHERE discount LIKE '%80!% off%' ESCAPE '!'
Cela permettra à la base de données de traiter 80% comme une partie réelle de la chaîne à rechercher et non 80 (caractère générique).
Documents MSDN pour
LIKE
la source
la source
Dans MySQL ,
WHERE column_name LIKE '%|%%' ESCAPE '|'
la source