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

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

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

Σε αυτό το σεμινάριο PostgreSQL, θα μάθετε τα εξής:

  • Μπαλαντέρ
  • Σύνταξη
  • Χρήση% μπαλαντέρ
  • Χρήση _ μπαλαντέρ
  • Χρήση ΟΧΙ χειριστή
  • Χρήση του pgAdmin

Μπαλαντέρ

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

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

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

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

Σύνταξη

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

expression LIKE pattern [ ESCAPE 'escape-character' ]

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

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

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

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

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

Βιβλίο:

Θέλουμε το βιβλίο του οποίου το όνομα είναι σαν "Lear

… "Για να πάρουμε αυτό το αποτέλεσμα, μπορούμε να εκτελέσουμε την ακόλουθη εντολή:
SELECT *FROMBookWHEREname LIKE 'Lear%';

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

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

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

SELECT *FROMBookWHEREname LIKE '%by%';

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

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

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

SELECT *FROMBookWHEREname LIKE '_earn%';

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

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

SELECT *FROMBookWHEREname LIKE '%Beginner_';

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

Χρήση ΟΧΙ χειριστή

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

SELECT *FROMBookWHEREname NOT LIKE 'Post%';

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

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

SELECT *FROMBookWHEREname NOT LIKE '%Made%';

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

3 σειρές πληρούσαν την κατάσταση αναζήτησης.

Χρήση του pgAdmin

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

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

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

Βήμα 2)

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

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

SELECT *FROMBookWHEREname LIKE 'Lear%';

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

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

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

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

SELECT *FROMBookWHEREname LIKE '%by%';

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

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

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

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

Βήμα 2)

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

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

SELECT *FROMBookWHEREname LIKE '_earn%';

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

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

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

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

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

Χρήση ΟΧΙ χειριστή

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

Βήμα 2)

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

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

SELECT *FROMBookWHEREname NOT LIKE 'Post%';

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

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

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

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

SELECT *FROMBookWHEREname NOT LIKE '%Made%';

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

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

Περίληψη:

  • Το PostgreSQL LIKE χρησιμοποιείται στην αντιστοίχιση τιμών κειμένου με μοτίβα που χρησιμοποιούν χαρακτήρες μπαλαντέρ.
  • Η ρήτρα LIKE μας επιτρέπει να χρησιμοποιήσουμε χαρακτήρες μπαλαντέρ στις δηλώσεις SELECT, UPDATE, INSERT ή DELETE.
  • Το% μπαλαντέρ αντιστοιχεί σε μία ή περισσότερες τιμές. Οι τιμές μπορεί να είναι αριθμοί ή χαρακτήρες.
  • Το _ μπαλαντέρ αντιστοιχεί ακριβώς σε μία τιμή. Η τιμή μπορεί να είναι χαρακτήρας ή αριθμός.
  • Ο τελεστής LIKE μπορεί να συνδυαστεί με τον τελεστή NOT για να επιστρέψει οποιαδήποτε σειρά που δεν ταιριάζει με το μοτίβο αναζήτησης.

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

ενδιαφέροντα άρθρα...