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 LIKE | La 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-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Souris | Accessoires | 75,00 | ||
7002 | Disque dur | 65,00 | 20 | 1 300 | |
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7004 | RAM | Composants | 23.50 | 16 | 376,00 |
7005 | VTT | vélos | 1 200 | ||
7006 | Stylo | 7.45 | 10 | 74,50 | |
7007 | Lecteur CD | Accessoires | 75,00 | ||
7008 | Micro | Accessoires | 75,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-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Souris | Accessoires | 75,00 | ||
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7007 | Lecteur CD | Accessoires | 75,00 | ||
7008 | Micro | Accessoires | 75,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-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Souris | Accessoires | 75,00 | ||
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7007 | Lecteur CD | Accessoires | 75,00 | ||
7008 | Micro | Accessoires | 75,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-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur totale |
---|---|---|---|---|---|
7005 | VTT | vélos | 1 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-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Souris | Accessoires | 75,00 | ||
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7007 | Lecteur CD | Accessoires | 75,00 | ||
7008 | Micro | Accessoires | 75,00 |