152 votes

Comment échapper à un signe de pourcentage dans T-SQL ?

<p>Cette <a href="http://stackoverflow.com/questions/700648/escape-percentage-sign-db2-sql">question a également la réponse</a> mais les mentions DB2 spécifiquement.<p>Comment rechercher une chaîne à l’aide de <code></code> qui a déjà un symbole de pourcentage (%) dedans ? L’opérateur LIKE utilise des symboles % pour signifier des caractères génériques.</p></p>

232voto

gbn Points 197263
<p>Utilisez des supports. Donc à chercher à 75 %<pre><code></code></pre><p>C’est plus simple que de s’échapper et commun à la plupart des SGBDR</p></p>

42voto

Jedidja Points 5642

Vous pouvez utiliser l' ESCAPE mot-clé LIKE. Simplement ajouter que le caractère souhaité (par exemple,'!') pour chacune de ces % signes dans la chaîne, puis ajouter ESCAPE '!' (ou de votre personnage, au choix) à la fin de la requête.

Par exemple:

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

Cela permet de rendre la base de données de traiter 80% en tant que partie intégrante de la chaîne à rechercher et non 80(générique).

MSDN Docs pour LIKE

11voto

Aaron Bertrand Points 116343
WHERE column_name LIKE '%save 50[%] off!%'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by: