Opérateur SQL LIKE (suite)

Un caractère générique est utilisé pour remplacer un ou plusieurs caractères dans une chaîne.

Les caractères génériques sont utilisés avec l’opérateur SQL LIKE. L’opérateur LIKE est utilisé dans une clause WHERE pour rechercher un modèle spécifié dans une colonne.

Utilisez les caractères génériques suivants pour rechercher et répertorier les objets DB2 :

  • _ (trait de soulignement) correspond à n’importe quel caractère unique.
  • % (signe de pourcentage) ou * (astérisque) correspond à une chaîne de zéro caractère ou plus.

Les caractères génériques peuvent également être utilisés dans des combinaisons.

Voici quelques exemples montrant différents opérateurs LIKE avec les caractères génériques ‘%’ et ‘_’ :

Opérateur LIKELa description
WHERE Nom_Etudiant LIKE ‘s%’Recherche toutes les valeurs qui commencent par “s”
WHERE Nom_Etudiant LIKE ‘%i’Recherche toutes les valeurs qui se terminent par “i”
WHERE Nom_Etudiant LIKE ‘%sp%’Trouve toutes les valeurs qui ont “sp” dans n’importe quelle position
WHERE Nom_Etudiant LIKE ‘_v%’Trouve toutes les valeurs qui ont “v” en deuxième position
WHERE Nom_Etudiant LIKE ‘s_%_%’Recherche toutes les valeurs commençant par “s” et comportant au moins 3 caractères
WHERE Nom_Etudiant LIKE ‘s%p’Recherche toutes les valeurs qui commencent par “s” et se terminent par “p”

Le prédicat suivant est vrai lorsque la chaîne à tester dans NAME a la valeur SMITH, NESMITH, SMITHSON ou NESMITHY. Ce n’est pas vrai lorsque la chaîne a la valeur SMYTHE :

Nom_Etudiant LIKE '%SMITH%'

Les deux prédicats suivants sont équivalents ; trois des signes à quatre pour cent du premier prédicat sont redondants.

Nom_Etudiant LIKE 'SP%%%%AN'
Nom_Etudiant LIKE 'SP%AN'

Base de données DB2 :

Vous trouverez ci-dessous une sélection de la table “Produit” de la base de données DB2.

ID-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7001SourisAccessoires75,00
7002Disque dur65,00201 300
7003ClavierAccessoires36.00331 118,00
7004RAMComposants23.5016376,00
7005VTTvélos1 200
7006Stylo7.451074,50
7007Lecteur CDAccessoires75,00
7008MicroAccessoires75,00

Exemple 1 : utilisation du caractère générique %

L’instruction SQL suivante sélectionne tous les produits avec une catégorie commençant par “Acc”:

SELECT * FROM Produit 
 WHERE Categorie LIKE 'Acc%' ;
Résultat:
ID-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7001SourisAccessoires75,00
7003ClavierAccessoires36.00331 118,00
7007Lecteur CDAccessoires75,00
7008MicroAccessoires75,00

Exemple 2 : utilisation du caractère générique %

L’instruction SQL suivante sélectionne tous les produits avec une catégorie contenant le modèle “oir”:

SELECT * FROM Produit 
 WHERE Categorie LIKE '%oir%' ;
Résultat:
ID-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7001SourisAccessoires75,00
7003ClavierAccessoires36.00331 118,00
7007Lecteur CDAccessoires75,00
7008MicroAccessoires75,00

Exemple 3 : Utilisation du caractère générique _

L’instruction SQL suivante sélectionne tous les produits avec une catégorie commençant par n’importe quel caractère, suivi de “élos” :

SELECT * FROM Produit 
 WHERE Categorie LIKE '_élos' ;
Résultat:
ID-ProduitNom-ProduitCategoriePrixStockValeur totale
7005VTTvélos1 200

Exemple 4 : Utilisation du caractère générique _

L’instruction SQL suivante sélectionne tous les produits avec une catégorie commençant par “Accessoire” et se terminant par n’importe quel caractère.

SELECT * FROM Produit 
 WHERE Categorie LIKE 'Accessoire_' ;
Résultat:
ID-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7001SourisAccessoires75,00
7003ClavierAccessoires36.00331 118,00
7007Lecteur CDAccessoires75,00
7008MicroAccessoires75,00