SQL : opérateur de comparaison LIKE

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.

Logo ACCESS

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 :


Genre de correspondance


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

Share Button
The following two tabs change content below.
Après seize années passées en cabinet d’expertise-comptable et de commissariat aux comptes (où j’ai exercé comme expert-comptable et chef de mission audit), j’ai pris le poste de directeur comptable d’un groupe de distribution automobile en novembre 2014. Au cours de ma carrière, j’ai acquis une expérience significative en audit et en exploitation des systèmes d’information (analyse de données, automatisation des tâches, programmation informatique) au service de la production des comptes annuels et consolidés. C’est cette expérience personnelle et ma passion pour l’informatique que je partage sur ce blog. Mon CV / Réalisations personnelles et projets informatiques / Ma collection / Me contacter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.