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:

Utilisation du caractère générique %

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 :

Utilisation du caractère générique %

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 %

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 :

Utilisation du caractère générique _

Voici un autre exemple:

SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';

Cela renvoie les éléments suivants :

Utilisation du caractère générique _

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 :

Utiliser NON Operator

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 :

Utiliser NON Operator

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)

  1. Dans la barre de navigation à gauche, cliquez sur Bases de données.
  2. Cliquez sur Démo.

Utilisation de pgAdmin avec le caractère générique %

É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.

Utilisation de pgAdmin avec le caractère générique %

Il devrait renvoyer ce qui suit :

Utilisation de pgAdmin avec le caractère générique %

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.

Utilisation de pgAdmin avec le caractère générique %

Il devrait renvoyer ce qui suit :

Utilisation de pgAdmin avec le caractère générique %

Utilisation du caractère générique _

Étape 1) Connectez-vous à votre compte pgAdmin.

Étape 2)

  1. Dans la barre de navigation à gauche, cliquez sur Bases de données.
  2. Cliquez sur Démo.

Utiliser pgAdmin avec le caractère générique _

É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.

Utiliser pgAdmin avec le caractère générique _

Il devrait renvoyer ce qui suit :

Utiliser pgAdmin avec le caractère générique _

Étape 5) Pour exécuter le deuxième exemple :

  1. Tapez la requête suivante dans l'éditeur de requête :
    SELECT *
    FROM
       Book
    WHERE
       name LIKE '%Beginner_';
    
  2. Cliquez sur le bouton Exécuter.

Utiliser pgAdmin avec le caractère générique _

Il devrait renvoyer ce qui suit :

Utiliser pgAdmin avec le caractère générique _

Utiliser NON Operator

Étape 1) Connectez-vous à votre compte pgAdmin.

Étape 2)

  1. Dans la barre de navigation à gauche, cliquez sur Bases de données.
  2. Cliquez sur Démo.

Utiliser NON Operator dans pgAdmin

É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.

Utiliser NON Operator dans pgAdmin

Il devrait renvoyer ce qui suit :

Utiliser NON Operator dans pgAdmin

Utiliser NON Operator dans pgAdmin

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.

Utiliser NON Operator dans pgAdmin

Il devrait renvoyer ce qui suit :

Utiliser NON Operator dans pgAdmin

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