PostgreSQL LIKE, Not Like, Wildcards (%, _ ) Exemples
La 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é
- La 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