Dans une clause WHERE, l’opérateur LIKE permet d’effectuer une comparaison partielle entre le contenu d’un champ de données et une chaîne de caractères. LIKE est un opérateur de comparaison spécifique au langage de requête SQL.
Si la comparaison est réalisée, elle renvoie True sinon False.
L’utilisation de l’opérateur LIKE conjointement aux jokers (*, ?) permet une grande diversité de comparaisons. Les jokers remplacent n’importe quel caractère (? remplace un caractère, * en remplace plusieurs).
Contexte d’utilisation :
WHERE champ LIKE comparaison
Exemples de comparaisons avec des jokers :
- LIKE “P*” : chaîne commençant par la lettre P
- LIKE “*P” : chaîne se terminant par la lettre P
- LIKE “*P*” : chaîne comprenant la lettre P
Exemple d’utilisation de l’opérateur LIKE :
SELECT [_ECRITURES].CodeEntité, [_ECRITURES].EcritureNum, [_ECRITURES].JournalCode, [_ECRITURES].JournalLib, [_ECRITURES].EcritureDateComptable, [_ECRITURES].CompteNumHarmonisé, [_ECRITURES].CompteNum, [_ECRITURES].CompteLib, [_ECRITURES].CompteAuxNum, [_ECRITURES].CompteAuxLib, [_ECRITURES].EcritureLib, [_ECRITURES].Débit, [_ECRITURES].Crédit, [_ECRITURES].Solde, [_ECRITURES].PièceRéf, [_ECRITURES].PièceDate FROM _ECRITURES WHERE [_ECRITURES].TypeJournal="VENTES" AND [_ECRITURES].SchémEcrit_Cpte6xSens Like "*70[0-8]???xD+*";
Dans cet exemple issu du programme d’analyse de données comptables PADoCC, l’opérateur LIKE renverra True si le champ SchémEcrit_Cpte6xSens comprend (*…*) une chaîne composée des caractères 70 puis d’un chiffre de 0 à 8 ([0-8]) puis trois caractères indifférents puis xD+. Cette comparaison permet de ne lister que les écritures comptables comprenant un compte de chiffre d’affaires commençant pas 700 à 708 qui est débité (en clair : annulation de chiffre d’affaires).
Exemples de comparaisons reprises du support technique Microsoft :
|
Modèle |
Correspondance (renvoie la valeur Vrai) |
Aucune correspondance (renvoie la valeur Faux) |
---|---|---|---|
Plusieurs caractères | a*a | aa, aBa, aBBBa | aBC |
*ab* | abc, AABB, Xab | aZb, bac | |
Caractère spécial | a[*]a | a*a | aaa |
Plusieurs caractères | ab* | abcdefg, abc | cab, aab |
Caractère isolé | a?a | aaa, a3a, aBa | aBBBa |
Chiffre isolé | a#a | a0a, a1a, a2a | aaa, a10a |
Plage de caractères | [a-z] | f, p, j | 2, & |
Hors d’une plage | [!a-z] | 9, &, % | b, a |
Pas un chiffre | [!0-9] | A, a, &, ~ | 0, 1, 9 |
Combinaison | a[!b-m]# | An9, az0, a99 |
abc, aj0 |
Approfondir le sujet : Maîtriser le langage de requête SQL / les opérateurs / Analyse de données


Derniers articles parBenoît RIVIERE (voir tous)
- Le régime de la TVA sur la marge : 7ème partie – Calcul en ligne de la TVA sur la marge globale - jeudi 30 mars 2023
- Bases d’information publiques utiles à l’évaluation de l’intégrité des tiers (guide de l’AFA) - dimanche 19 mars 2023
- Excel : Obtenir les distances et temps de parcours d’un trajet Google Maps - samedi 18 mars 2023
- Evaluation de biens immobiliers : le prix de l’immobilier en France - samedi 11 mars 2023
- Règlement ANC n° 2022-06 relatif à la modernisation des états financiers : 5ème partie – Impact sur le calcul de la VA CVAE et sur celui de la RSP - dimanche 5 mars 2023
Pingback: Les caractères génériques (« jokers ») - Audit & Systèmes d'Information