Archives par mot-clé : LIKE

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

Opérateur SQL LIKE

Les caractères génériques sont des caractères spéciaux utilisés pour faire correspondre des parties d’une valeur dans la clause WHERE.

Pour utiliser des caractères génériques dans les clauses de recherche, l’opérateur LIKE doit être utilisé.

La recherche par caractères génériques ne peut être utilisée qu’avec des champs de texte (chaînes).

Deux caractères génériques sont souvent utilisés conjointement avec l’opérateur LIKE :

  • %” – Signifie correspondre à n’importe quel nombre d’occurrences de n’importe quel caractère.
  • _ ” – Le trait de soulignement représente un seul caractère

Syntaxe:

SELECT colonne1, colonne2, ... 
  FROM nom_table 
 WHERE colonneN LIKE modèle ;

Vous pouvez également combiner n’importe quel nombre de conditions à l’aide des opérateurs AND ou OR.

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 ‘b%’Recherche toutes les valeurs qui commencent par “b”
WHERE Nom_Etudiant LIKE ‘%ed%’Trouve toutes les valeurs qui ont “ed” dans n’importe quelle position
WHERE Nom_Etudiant LIKE ‘a_%’Recherche toutes les valeurs commençant par “a” et comportant au moins 2 caractères
WHERE Nom_Etudiant LIKE ‘b%t’Recherche toutes les valeurs qui commencent par “b” et se terminent par “t”
WHERE Nom_Etudiant LIKE ‘%t’Recherche toutes les valeurs qui se terminent par “t”
WHERE Nom_Etudiant LIKE ‘_a%’Recherche toutes les valeurs qui ont “a” en deuxième position
WHERE Nom_Etudiant LIKE ‘s__%’Recherche toutes les valeurs commençant par “s” et comportant au moins 3 caractères

Base de données DB2 :

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

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

Exemple 1:

L’instruction SQL suivante sélectionne tous les produits dont le Nom_Produit commence par “S” :

SELECT * FROM Produit 
 WHERE Nom_Produit LIKE 'S%' ;
Résultat:
ID-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7001SourisAccessoires75,001 300,00
7005Stylo7,451074,50

Exemple 2 :

L’instruction SQL suivante sélectionne tous les produits dont le Nom_Produit se termine par “r” :

SELECT * FROM Produit 
 WHERE Nom_Produit LIKE '%r' ;
Résultat:
ID-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7002Disque dur65,00201 300,00
7003ClavierAccessoires36,00331118,00

Exemple 3 :

L’instruction SQL suivante sélectionne tous les produits avec un Nom_Produit qui ont “ur” à n’importe quelle position :

SELECT * FROM Produit 
 WHERE Nom_Produit LIKE '%ur%' ;
Résultat:
ID-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7001SourisAccessoires75,00
7002Disque dur65,00201 300
7007Lecteur CDAccessoires75,00

Exemple 4 :

L’instruction SQL suivante sélectionne tous les produits avec un Nom_Produit qui ont “i” en deuxième position :

SELECT * FROM Produit 
 WHERE Nom_Produit LIKE '_i%' ;
Résultat:
ID-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7002Disque dur65,00201 300
7008MicroAccessoires75,00

Exemple 5 :

L’instruction SQL suivante sélectionne tous les produits dont le Nom_Produit commence par “D” et se termine par “r” :

SELECT * FROM Produit 
 WHERE Nom_Produit LIKE 'D%r';
Résultat:
ID-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7002Disque dur65,00201 300,00

Exemple 6 :

L’instruction SQL suivante sélectionne tous les produits avec un Nom_Produit qui ne commence PAS par “S” :

SELECT * FROM Produit 
 WHERE Nom_Produit NOT LIKE 'S%' ;
Résultat:
ID-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7002Disque dur65,00201300,00
7003ClavierAccessoires36.00331 118,00
7004RAMComposants23.5016376,00
7005VTTvélos1 200
7007Lecteur CDAccessoires75,00
7008MicroAccessoires75,00