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:

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รฉ

  • 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

Rรฉsumez cet article avec :