PostgreSQL Συνάρτηση SUBSTRING() με Παράδειγμα Regex

Τι είναι PostgreSQL Υποσυμβολοσειρά;

The PostgreSQL Η συνάρτηση substring σας βοηθά να εξηγείτεtract και επιστρέφει μέρος μιας συμβολοσειράς. Αντί να επιστρέψει ολόκληρη τη συμβολοσειρά, επιστρέφει μόνο ένα μέρος της.

Σύνταξη

The PostgreSQL Η συνάρτηση substring παίρνει την ακόλουθη σύνταξη:

substring( string [from starting_position] [for length] )

Παράμετροι

Όνομα Περιγραφή
κορδόνι Η συμβολοσειρά πηγής του οποίου ο τύπος δεδομένων είναι varchar, char, string κ.λπ.
θέση εκκίνησης Είναι μια προαιρετική παράμετρος. Υποδηλώνει τον τόπο όπου το extracθα ξεκινήσει η διαδικασία της συμβολοσειράς. Εάν παραλείψετε αυτήν την παράμετρο, το extracΗ σηµείωση θα ξεκινήσει από τη θέση 1, η οποία είναι ο πρώτος χαρακτήρας στη συµβολοσειρά.
μήκος Είναι μια προαιρετική παράμετρος. Υποδηλώνει τον αριθμό των χαρακτήρων που θα εκτυπωθούν.tracαπό τη συμβολοσειρά. Εάν παραλείψετε αυτήν την παράμετρο, η συνάρτηση θα εκτελεστείtract από την αρχική_θέση μέχρι το τέλος της συμβολοσειράς.

Παραδείγματα

Σε αυτό το παράδειγμα, θέλουμε να πούμεtract τους πρώτους 4 χαρακτήρες της λέξης Guru99:

SELECT substring('Guru99' for 4);

Η εντολή θα επιστρέψει τα εξής:

PostgreSQL Υποστρώματα

Δεν καθορίσαμε την αρχική θέση, επομένως η πρώηνtracη υποσυμβολοσειρά ξεκινά στη θέση 1. 4 χαρακτήρες ήταν extracted να επιστρέψω τα παραπάνω.

Το ακόλουθο παράδειγμα δείχνει πώς να καθορίσετε την αρχική θέση:

SELECT substring('Guru99' from 1 for 4);

Η εντολή θα επιστρέψει τα εξής:

PostgreSQL Υποστρώματα

Διευκρινίσαμε ότι ο πρώηνtracΗ εισαγωγή της υποσυμβολοσειράς πρέπει να ξεκινά από τη θέση 1 και 4 χαρακτήρες πρέπει να είναι εκτόςtracξυραίνω χόρτα.

Ας ξεκινήσουμεtract 99 από τη συμβολοσειρά Guru99:

SELECT substring('Guru99' from 5);

Η εντολή θα επιστρέψει τα εξής:

PostgreSQL Υποστρώματα

Καθορίσαμε την αρχική θέση ως 5. Δεδομένου ότι ο αριθμός των χαρακτήρων που θα εκτελεστούνtracΤο ted δεν προσδιορίστηκε, το πρώηνtracη χορδή έφτανε μέχρι το τέλος.

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

SELECT substring('Guru99' from 5 for 2);

Η εντολή θα επιστρέψει τα εξής:

PostgreSQL Υποστρώματα

Έχουμε ξεκινήσει π.χ.tracθέση στη θέση 5 και 2 χαρακτήρες έχουν εκδοθείtracξυραίνω χόρτα.

Εξετάστε τον πίνακα Βιβλίων που δίνεται παρακάτω:

PostgreSQL Υποστρώματα

Θέλουμε να έχουμε μια γενική ιδέα για το όνομα κάθε βιβλίου. Ωστόσο, μπορούμε π.χ.tracμόνο οι πρώτοι 15 χαρακτήρες από τη στήλη ονόματος του πίνακα:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

Η εντολή θα επιστρέψει τα εξής:

PostgreSQL Υποστρώματα

Τώρα έχουμε μια πρόχειρη ιδέα για το όνομα κάθε βιβλίου.

Αντιστοίχιση υποσυμβολοσειρών με κανονική έκφραση SQL

In PostgreSQL, μπορούμε π.χ.tracta substring που αντιστοιχεί σε μια καθορισμένη κανονική έκφραση POSIX. Σε αυτήν την περίπτωση, η συνάρτηση substring χρησιμοποιείται με την ακόλουθη σύνταξη:

SUBSTRING(string FROM matching_pattern)

or

SUBSTRING(string, matching_pattern);

Ακολουθεί μια επεξήγηση των παραπάνω παραμέτρων:

Η συμβολοσειρά είναι η συμβολοσειρά πηγής της οποίας Τύπος δεδομένων είναι varchar, char, string κ.λπ.

Το matching_pattern είναι το μοτίβο που θα χρησιμοποιηθεί για την αναζήτηση στη συμβολοσειρά.

Παραδείγματα

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

Η εντολή θα επιστρέψει τα εξής:

Αντιστοίχιση υποσυμβολοσειρών με κανονική έκφραση SQL

Η συμβολοσειρά εισόδου μας είναι η ηλικία σας είναι 22. Στο μοτίβο, αναζητούμε ένα αριθμητικό μοτίβο στη συμβολοσειρά μας. Όταν βρεθεί αυτό, η συνάρτηση substring θα πρέπει να εκφράζει μόνοtracδύο χαρακτήρες.

Πώς να αντιστοιχίσετε υποσυμβολοσειρές χρησιμοποιώντας το pgAdmin

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

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

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

Βήμα 2) Στο pgAdmin,
Κάντε κλικ στο εικονίδιο του Εργαλείου εξατομικευμένων αναφορών.

Αντιστοίχιση υποσυμβολοσειρών με χρήση του pgAdmin

Θα ανοίξει το παράθυρο επεξεργασίας ερωτημάτων.

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

SELECT substring('Guru99' for 4);

Βήμα 4) Εκτέλεση ερωτήματος
Κάντε κλικ στο εικονίδιο Εκτέλεση για να εκτελέσετε το ερώτημα.

Αντιστοίχιση υποσυμβολοσειρών με χρήση του pgAdmin

Βήμα 5) Η εκτέλεση του ερωτήματος έχει ολοκληρωθεί.
Θα πρέπει να επιστρέψει τα ακόλουθα:

Αντιστοίχιση υποσυμβολοσειρών με χρήση του pgAdmin

Παράδειγμα 2:

SELECT substring('Guru99' from 1 for 4);

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

Αντιστοίχιση υποσυμβολοσειρών με χρήση του pgAdmin

Εδώ είναι το επόμενο παράδειγμα:

SELECT substring('Guru99' from 5);

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

Αντιστοίχιση υποσυμβολοσειρών με χρήση του pgAdmin

Παράδειγμα 3:

SELECT substring('Guru99' from 5 for 2);

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

Αντιστοίχιση υποσυμβολοσειρών με χρήση του pgAdmin

Τώρα, ας εκτελέσουμε το παράδειγμα χρησιμοποιώντας τον πίνακα Book της βάσης δεδομένων επίδειξης:

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

Βήμα 2)

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

Αντιστοίχιση υποσυμβολοσειρών με χρήση του pgAdmin

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

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

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

Αντιστοίχιση υποσυμβολοσειρών με χρήση του pgAdmin

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

PostgreSQL Υποστρώματα

Τώρα έχουμε μια βασική ιδέα για το όνομα κάθε βιβλίου.

Αντιστοίχιση υποσυμβολοσειρών με κανονική έκφραση SQL

Για να κάνετε το ίδιο στο pgAdmin, κάντε τα εξής:

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

Βήμα 2) Κάντε κλικ στο εικονίδιο του Εργαλείου εξατομικευμένων αναφορών.

Αντιστοίχιση υποσυμβολοσειρών με κανονική έκφραση SQL

Θα ανοίξει το παράθυρο επεξεργασίας ερωτημάτων.

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

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

Βήμα 4) Κάντε κλικ στο εικονίδιο Εκτέλεση για να εκτελέσετε το ερώτημα.

Αντιστοίχιση υποσυμβολοσειρών με κανονική έκφραση SQL

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

Αντιστοίχιση υποσυμβολοσειρών με κανονική έκφραση SQL

Περίληψη

  • The PostgreSQL Η συνάρτηση υποσυμβολοσειράς βοηθάει σε π.χ.tracting και επιστροφή μόνο ενός μέρους μιας συμβολοσειράς.
  • Ο πρώτος χαρακτήρας της συμβολοσειράς βρίσκεται στη θέση 1.
  • Εάν ο αριθμός των χαρακτήρων που θα εκδοθούνtracted από τη συμβολοσειρά δεν έχει καθοριστεί, η συνάρτηση θα εκτελεστείtract χαρακτήρες από την καθορισμένη αρχική θέση έως το τέλος της συμβολοσειράς.
  • Εάν ο αριθμός των χαρακτήρων που θα εκδοθούνtracted καθορίζεται, μόνο αυτός ο αριθμός χαρακτήρων θα είναι extracξυραίνω χόρτα.

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

Συνοψίστε αυτήν την ανάρτηση με: