PostgreSQL LIKE, Not Like, Wildcards (%, _ ) Παραδείγματα


The PostgreSQL Ο τελεστής LIKE μας βοηθά να αντιστοιχίσουμε τιμές κειμένου με μοτίβα χρησιμοποιώντας χαρακτήρες μπαλαντέρ. Είναι δυνατό να αντιστοιχίσετε την έκφραση αναζήτησης με την έκφραση μοτίβου.

Εάν συμβεί μια αντιστοίχιση, ο τελεστής LIKE επιστρέφει true. Με τη βοήθεια του τελεστή LIKE, είναι δυνατή η χρήση χαρακτήρων μπαλαντέρ στον όρο WHERE των δηλώσεων SELECT, UPDATE, INSERT ή DELETE.

Μπαλαντέρ

Υπάρχουν μόνο δύο χαρακτήρες μπαλαντέρ που μπορούν να χρησιμοποιηθούν μαζί

  • σύμβολο ποσοστού (%)
  • Κατω παυλα (_)

Το σύμβολο ποσοστού (%) χρησιμοποιείται για να αναπαραστήσει μηδέν, έναν ή πολλούς χαρακτήρες ή αριθμούς.

Ο χαρακτήρας μπαλαντέρ υπογράμμισης (_) χρησιμοποιείται για να αναπαραστήσει έναν χαρακτήρα ή έναν αριθμό. Αυτά τα σύμβολα μπορούν επίσης να συνδυαστούν. Εάν ο τελεστής LIKE δεν χρησιμοποιείται μαζί με αυτά τα δύο σύμβολα, θα λειτουργήσει όπως ο τελεστής ίσον.

Σύνταξη

Εδώ είναι η σύνταξη για τον τελεστή LIKE:

expression LIKE pattern [ ESCAPE 'escape-character' ]

Η έκφραση είναι μια έκφραση χαρακτήρων όπως στήλη ή πεδίο.

Το μοτίβο είναι μια έκφραση χαρακτήρων με αντιστοίχιση μοτίβων.

Ο χαρακτήρας διαφυγής είναι μια προαιρετική παράμετρος. Επιτρέπει τον έλεγχο κυριολεκτικών παρουσιών χαρακτήρων μπαλαντέρ όπως % και _. Εάν δεν παρέχεται, το \ θα χρησιμοποιηθεί ως χαρακτήρας διαφυγής.

Χρήση χαρακτήρων μπαλαντέρ %

Όπως αναφέραμε προηγουμένως, το σύμβολο % ταιριάζει με μηδέν, έναν ή περισσότερους χαρακτήρες ή αριθμούς. Σκεφτείτε τον παρακάτω πίνακα:

Βιβλίο:

Χρήση χαρακτήρων μπαλαντέρ %

Θέλουμε το βιβλίο του οποίου το όνομα είναι σαν "Lear..." να έχει αυτό το αποτέλεσμα, μπορούμε να εκτελέσουμε την ακόλουθη εντολή:

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

Αυτό θα επιστρέψει τα ακόλουθα:

Χρήση χαρακτήρων μπαλαντέρ %

Το βιβλίο βρέθηκε.

Ας αναζητήσουμε ένα βιβλίο «από» στο όνομά του:

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

Αυτό θα επιστρέψει τα ακόλουθα:

Χρήση χαρακτήρων μπαλαντέρ %

Χρησιμοποιώντας _ μπαλαντέρ

Όπως αναφέραμε προηγουμένως, το σύμβολο _ αντιπροσωπεύει έναν χαρακτήρα ή έναν αριθμό. Μπορεί να χρησιμοποιηθεί όπως φαίνεται παρακάτω:

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

Αυτό επιστρέφει τα ακόλουθα:

Χρησιμοποιώντας _ μπαλαντέρ

Εδώ είναι ένα άλλο παράδειγμα:

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

Αυτό επιστρέφει τα ακόλουθα:

Χρησιμοποιώντας _ μπαλαντέρ

Χρησιμοποιώντας το NOT OperaTor

Όταν ο τελεστής LIKE συνδυάζεται με τον τελεστή NOT, επιστρέφεται κάθε σειρά που δεν ταιριάζει με το μοτίβο αναζήτησης. Για παράδειγμα, για να δούμε ένα βιβλίο του οποίου το όνομα δεν ξεκινά με "post", μπορούμε να εκτελέσουμε την ακόλουθη εντολή:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE 'Post%';

Αυτό επιστρέφει τα ακόλουθα:

Χρησιμοποιώντας το NOT OperaTor

Μόνο ένα βιβλίο πληρούσε την προϋπόθεση αναζήτησης. Ας δούμε τη λίστα με τα ονόματα βιβλίων που δεν έχουν λέξη "Made":

SELECT *
FROM
   Book
WHERE
  name NOT LIKE '%Made%';

Αυτό επιστρέφει τα ακόλουθα:

Χρησιμοποιώντας το NOT OperaTor

3 σειρές πληρούσαν την προϋπόθεση αναζήτησης.

Χρήση του pgAdmin

Τώρα ας δούμε πώς μπορούν να εκτελεστούν οι ενέργειες χρησιμοποιώντας το pgAdmin.

Χρήση χαρακτήρων μπαλαντέρ %

Βήμα 1) Συνδεθείτε στον λογαριασμό σας pgAdmin.

Βήμα 2)

  1. Από τη γραμμή πλοήγησης στα αριστερά - Κάντε κλικ στην επιλογή Βάσεις δεδομένων.
  2. Κάντε κλικ στο Demo.

Χρήση του pgAdmin Με % μπαλαντέρ

Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:

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

Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.

Χρήση του pgAdmin Με % μπαλαντέρ

Θα πρέπει να επιστρέψει τα ακόλουθα:

Χρήση του pgAdmin Με % μπαλαντέρ

Για να αναζητήσετε ένα βιβλίο "by" στο όνομά του:

Βήμα 1) Πληκτρολογήστε την ακόλουθη εντολή στο πρόγραμμα επεξεργασίας ερωτημάτων:

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

Βήμα 2) Κάντε κλικ στο κουμπί Εκτέλεση.

Χρήση του pgAdmin Με % μπαλαντέρ

Θα πρέπει να επιστρέψει τα ακόλουθα:

Χρήση του pgAdmin Με % μπαλαντέρ

Χρησιμοποιώντας _ μπαλαντέρ

Βήμα 1) Συνδεθείτε στον λογαριασμό σας pgAdmin.

Βήμα 2)

  1. Από τη γραμμή πλοήγησης στα αριστερά - Κάντε κλικ στην επιλογή Βάσεις δεδομένων.
  2. Κάντε κλικ στο Demo.

Χρήση pgAdmin Με _ μπαλαντέρ

Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:

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

Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.

Χρήση pgAdmin Με _ μπαλαντέρ

Θα πρέπει να επιστρέψει τα ακόλουθα:

Χρήση pgAdmin Με _ μπαλαντέρ

Βήμα 5) Για να εκτελέσετε το δεύτερο παράδειγμα:

  1. Πληκτρολογήστε το ακόλουθο ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:
    SELECT *
    FROM
       Book
    WHERE
       name LIKE '%Beginner_';
    
  2. Κάντε κλικ στο κουμπί Εκτέλεση.

Χρήση pgAdmin Με _ μπαλαντέρ

Θα πρέπει να επιστρέψει τα ακόλουθα:

Χρήση pgAdmin Με _ μπαλαντέρ

Χρησιμοποιώντας το NOT OperaTor

Βήμα 1) Συνδεθείτε στον λογαριασμό σας pgAdmin.

Βήμα 2)

  1. Από τη γραμμή πλοήγησης στα αριστερά - Κάντε κλικ στην επιλογή Βάσεις δεδομένων.
  2. Κάντε κλικ στο Demo.

Χρησιμοποιώντας το NOT Operator στο pgAdmin

Βήμα 3) Για να δείτε όλα τα βιβλία των οποίων τα ονόματα δεν ξεκινούν με "Δημοσίευση", πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE 'Post%';

Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.

Χρησιμοποιώντας το NOT Operator στο pgAdmin

Θα πρέπει να επιστρέψει τα ακόλουθα:

Χρησιμοποιώντας το NOT Operator στο pgAdmin

Χρησιμοποιώντας το NOT Operator στο pgAdmin

Για να δείτε τη λίστα με τα βιβλία των οποίων τα ονόματα δεν έχουν τη λέξη "Made":

Βήμα 1) Πληκτρολογήστε το ακόλουθο ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE '%Made%';

Βήμα 2) Κάντε κλικ στο κουμπί Εκτέλεση.

Χρησιμοποιώντας το NOT Operator στο pgAdmin

Θα πρέπει να επιστρέψει τα ακόλουθα:

Χρησιμοποιώντας το NOT Operator στο pgAdmin

Σύνοψη

  • The PostgreSQL Το LIKE χρησιμοποιείται για την αντιστοίχιση τιμών κειμένου με μοτίβα χρησιμοποιώντας χαρακτήρες μπαλαντέρ.
  • Η ρήτρα LIKE μας επιτρέπει να χρησιμοποιούμε χαρακτήρες μπαλαντέρ στο SELECT, ΕΝΗΜΕΡΩΣΗ, ΕΙΣΑΓΩΓΗ ή ΔΙΑΓΡΑΦΗ δηλώσεων.
  • Ο μπαλαντέρ % αντιστοιχεί σε μία ή περισσότερες τιμές. Οι τιμές μπορεί να είναι αριθμοί ή χαρακτήρες.
  • Ο μπαλαντέρ _ ταιριάζει ακριβώς με μία τιμή. Η τιμή μπορεί να είναι χαρακτήρας ή αριθμός.
  • Ο τελεστής LIKE μπορεί να συνδυαστεί με τον τελεστή NOT για να επιστρέψει οποιαδήποτε σειρά δεν ταιριάζει με το μοτίβο αναζήτησης.

Κάντε λήψη της βάσης δεδομένων που χρησιμοποιείται σε αυτό το σεμινάριο

Περισσότερα readmore