Cours SQL ORACLE – 11 : LIKE
L’opérateur LIKE permet de rechercher une partie d’une chaine de caractère dans une autre. Le caractère % remplace tous autres chaine de caractère alors que le caractère _ ne remplace qu’un seul. L’opérateur LIKE est utilisé dans la clause WHERE.
Pour mieux comprendre l’utilité de l’opérateur LIKE, ci-dessous un exemple :
- Exemple 1 :
Dans la table EMP, nous souhaitons sélectionner tous les employés qui ont un ENAME qui commence par B.
La requête à exécuté dans ce cas-là sera :
SELECT * from EMP where ENAME like 'B%';
Tous les employé ayan un ENAME égal à B ou qui commence par B seront affiché. Le caractère % correspond dans ce cas-là à tous les caractères qui suivent B.
- Exemple 2 :
Dans la table EMP, nous souhaitons sélectionner tous les employés qui ont B dans la deuxième lettre du ENAME.
La requête à exécuté dans ce cas-là sera :
SELECT * from EMP where ENAME like '_B%';
Tous les ENAME ayant B comme deuxième caractère seront affichés dans ce cas-là.
On peut aussi annuler l’effet des deux caractères % et _ en depuis l’opérateur LIKE en utilisant l’option ESCAPE suivit d’un caractère.
Si par exemple nous souhaitons sélectionner toutes les lignes de la table EMP ayant dans le ENAME le caractère _, la requête à utiliser sera comme suit :
SELECT * from EMP where ENAME like '%\_%' ESCAPE '\';
Ici le LIKE va annuler l’effet de tout caractère « spécial » qui suit directement le caractère \