PostgreSQL LIKE, Not Like, Wildcards (%, _ ) Exemples
Le PostgreSQL L'opรฉrateur LIKE nous aide ร faire correspondre les valeurs de texte aux modรจles ร l'aide de caractรจres gรฉnรฉriques. Il est possible de faire correspondre l'expression de recherche ร l'expression de modรจle.
Si une correspondance se produit, l'opรฉrateur LIKE renvoie vrai. A l'aide de l'opรฉrateur LIKE, il est possible d'utiliser des caractรจres gรฉnรฉriques dans la clause WHERE des instructions SELECT, UPDATE, INSERT ou DELETE.
Cartes joker
Il n'y a que deux caractรจres gรฉnรฉriques qui peuvent รชtre utilisรฉs avec
- Signe de pourcentage (%)
- Souligner (_)
Le signe de pourcentage (%) est utilisรฉ pour reprรฉsenter zรฉro, un ou plusieurs caractรจres ou nombres.
Le caractรจre gรฉnรฉrique de soulignement (_) est utilisรฉ pour reprรฉsenter un caractรจre ou un nombre. Ces symboles peuvent รฉgalement รชtre combinรฉs. Si l'opรฉrateur LIKE n'est pas utilisรฉ avec ces deux signes, il agira comme l'opรฉrateur รฉgal.
Syntaxe
Voici la syntaxe de l'opรฉrateur LIKE :
expression LIKE pattern [ ESCAPE 'escape-character' ]
L'expression est une expression de caractรจre comme une colonne ou un champ.
Le modรจle est une expression de caractรจre avec correspondance de modรจle.
Le caractรจre d'รฉchappement est un paramรจtre facultatif. Il permet de tester des instances littรฉrales de caractรจres gรฉnรฉriques tels que % et _. S'il n'est pas fourni, le \ sera utilisรฉ comme caractรจre d'รฉchappement.
Utilisation du caractรจre gรฉnรฉrique %
Comme nous l'avons indiquรฉ prรฉcรฉdemment, le signe % correspond ร zรฉro, un ou plusieurs caractรจres ou chiffres. Considรฉrez le tableau suivant :
Livre:
Nous voulons que le livre dont le nom ressemble ร ยซ Learโฆ ยป obtienne ce rรฉsultat, nous pouvons exรฉcuter la commande suivante :
SELECT * FROM Book WHERE name LIKE 'Lear%';
Cela renverra ce qui suit :
Le livre a รฉtรฉ retrouvรฉ.
Cherchons un livre ยซ par ยป dans son nom :
SELECT * FROM Book WHERE name LIKE '%by%';
Cela renverra ce qui suit :
Utilisation du caractรจre gรฉnรฉrique _
Comme nous l'avons dit prรฉcรฉdemment, le signe _ reprรฉsente un caractรจre ou un chiffre. Il peut รชtre utilisรฉ comme indiquรฉ ci-dessous :
SELECT * FROM Book WHERE name LIKE '_earn%';
Cela renvoie les รฉlรฉments suivants :
Voici un autre exemple:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
Cela renvoie les รฉlรฉments suivants :
Utiliser NON Operator
Lorsque l'opรฉrateur LIKE est combinรฉ avec l'opรฉrateur NOT, toute ligne qui ne correspond pas au modรจle de recherche est renvoyรฉe. Par exemple, pour voir un livre dont le nom ne commence pas par ยซ post ยป, on peut exรฉcuter la commande suivante :
SELECT * FROM Book WHERE name NOT LIKE 'Post%';
Cela renvoie les รฉlรฉments suivants :
Un seul livre remplissait les conditions de recherche. Voyons la liste des noms de livres qui n'ont pas le mot ยซ Made ยป :
SELECT * FROM Book WHERE name NOT LIKE '%Made%';
Cela renvoie les รฉlรฉments suivants :
3 lignes remplissent la condition de recherche.
Utiliser pgAdmin
Voyons maintenant comment les actions peuvent รชtre effectuรฉes ร l'aide de pgAdmin.
Utilisation du caractรจre gรฉnรฉrique %
รtape 1) Connectez-vous ร votre compte pgAdmin.
รtape 2)
- Dans la barre de navigation ร gauche, cliquez sur Bases de donnรฉes.
- Cliquez sur Dรฉmo.
รtape 3) Tapez la requรชte dans l'รฉditeur de requรชtes :
SELECT * FROM Book WHERE name LIKE 'Lear%';
รtape 4) Cliquez sur le bouton Exรฉcuter.
Il devrait renvoyer ce qui suit :
Pour rechercher un livre ยซ par ยป dans son nom :
รtape 1) Tapez la commande suivante dans l'รฉditeur de requรชte :
SELECT * FROM Book WHERE name LIKE '%by%';
รtape 2) Cliquez sur le bouton Exรฉcuter.
Il devrait renvoyer ce qui suit :
Utilisation du caractรจre gรฉnรฉrique _
รtape 1) Connectez-vous ร votre compte pgAdmin.
รtape 2)
- Dans la barre de navigation ร gauche, cliquez sur Bases de donnรฉes.
- Cliquez sur Dรฉmo.
รtape 3) Tapez la requรชte dans l'รฉditeur de requรชtes :
SELECT * FROM Book WHERE name LIKE '_earn%';
รtape 4) Cliquez sur le bouton Exรฉcuter.
Il devrait renvoyer ce qui suit :
รtape 5) Pour exรฉcuter le deuxiรจme exemple :
- Tapez la requรชte suivante dans l'รฉditeur de requรชte :
SELECT * FROM Book WHERE name LIKE '%Beginner_';
- Cliquez sur le bouton Exรฉcuter.
Il devrait renvoyer ce qui suit :
Utiliser NON Operator
รtape 1) Connectez-vous ร votre compte pgAdmin.
รtape 2)
- Dans la barre de navigation ร gauche, cliquez sur Bases de donnรฉes.
- Cliquez sur Dรฉmo.
รtape 3) Pour voir tous les livres dont le nom ne commence pas par ยซ Post ยป, saisissez la requรชte dans l'รฉditeur de requรชte :
SELECT * FROM Book WHERE name NOT LIKE 'Post%';
รtape 4) Cliquez sur le bouton Exรฉcuter.
Il devrait renvoyer ce qui suit :
Pour voir la liste des livres dont les noms ne comportent pas le mot ยซ Made ยป :
รtape 1) Tapez la requรชte suivante dans l'รฉditeur de requรชte :
SELECT * FROM Book WHERE name NOT LIKE '%Made%';
รtape 2) Cliquez sur le bouton Exรฉcuter.
Il devrait renvoyer ce qui suit :
Rรฉsumรฉ
- Le PostgreSQL LIKE est utilisรฉ pour faire correspondre les valeurs de texte avec des modรจles ร l'aide de caractรจres gรฉnรฉriques.
- La clause LIKE nous permet d'utiliser des caractรจres gรฉnรฉriques dans SELECT, UPDATE, INSERT ou DELETE.
- Le caractรจre gรฉnรฉrique % correspond ร une ou plusieurs valeurs. Les valeurs peuvent รชtre des nombres ou des caractรจres.
- Le caractรจre gรฉnรฉrique _ correspond exactement ร une valeur. La valeur peut รชtre un caractรจre ou un nombre.
- L'opรฉrateur LIKE peut รชtre combinรฉ avec l'opรฉrateur NOT pour renvoyer toute ligne qui ne correspond pas au modรจle de recherche.
Tรฉlรฉchargez la base de donnรฉes utilisรฉe dans ce tutoriel























