Oracle - Echappement de caractères spéciaux

Décembre 2016


Pour certaines requêtes SQL, nous avons besoin de rechercher des chaînes de caractères contenant des caractères spéciaux tels que '%'
Dans l'exemple suivant, qui est faux, le besoin est de trouver les enregistrements contenant au milieu le caractère '%':
SELECT * 
FROM table 
WHERE champs LIKE '%%%';


Pour ce faire il faut savoir comment échapper (ou déspécialiser) les caractères spéciaux. Il faut commencer par donner une valeur au paramètre SQL ESCAPE (paramètre d'échapper les caractères) par exemple '^' :
SQL>SET ESCAPE ^


A partir de ce moment, le caractère '^' pourra servir à dé-spécialiser les caractères spéciaux. Pour reprendre notre exemple de façon correcte :
SELECT * 
FROM table 
WHERE champs LIKE '%^%%';

A voir également :

Ce document intitulé «  Oracle - Echappement de caractères spéciaux  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.