Λειτουργία MySQL INSTR().

Leitourgia Mysql Instr



Σε αυτό το σεμινάριο, θα μάθουμε πώς να χρησιμοποιούμε τη συνάρτηση MySQL INSTR() για να προσδιορίσουμε τη θέση της πρώτης εμφάνισης μιας δεδομένης υποσυμβολοσειράς.

Λειτουργία MySQL INSTR().

Χρησιμοποιώντας τη συνάρτηση instr(), μπορούμε να παρέχουμε μια συμβολοσειρά και μια υποσυμβολοσειρά. Η συνάρτηση θα καθορίσει εάν η υποσυμβολοσειρά υπάρχει στη συμβολοσειρά πηγής. Εάν υπάρχει η υποσυμβολοσειρά, η συνάρτηση θα επιστρέψει τη θέση της πρώτης εμφάνισης της υποσυμβολοσειράς στη συμβολοσειρά πηγής.

Εάν η υποσυμβολοσειρά δεν υπάρχει στη συμβολοσειρά πηγής, η συνάρτηση θα επιστρέψει 0.







Το παρακάτω δείχνει τη σύνταξη της συνάρτησης instr():



INSTR(src_string, sub_string);

Η συνάρτηση δέχεται δύο κύριες παραμέτρους:



  1. Το src_string αναφέρεται στη συμβολοσειρά πηγής στην οποία θέλετε να πραγματοποιήσετε αναζήτηση.
  2. Το sub_string ορίζει τη δευτερεύουσα συμβολοσειρά για την οποία αναζητάτε.

Καλό είναι να έχουμε κατά νου ότι η συνάρτηση instr() δεν κάνει διάκριση πεζών-κεφαλαίων. Ως εκ τούτου, η συνάρτηση θα εντοπίσει μόνο μοτίβα που ταιριάζουν χωρίς να λαμβάνεται υπόψη το περίβλημα των χαρακτήρων,





Για να εκτελέσετε μια αναζήτηση με διάκριση πεζών-κεφαλαίων, μπορείτε να χρησιμοποιήσετε άλλα εργαλεία, όπως τον δυαδικό τελεστή.

Παράδειγμα χρήσης συνάρτησης

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



SELECT INSTR('MySQL is awesome database engine', 'database') ως pos;

Το παραπάνω παράδειγμα θα επιστρέψει την αρχική θέση της συμβολοσειράς 'βάση δεδομένων' από τη συμβολοσειρά προέλευσης. Σε αυτήν την περίπτωση, η θέση της συμβολοσειράς βάσης δεδομένων είναι 21 όπως φαίνεται στην παρακάτω έξοδο:

pos|

---+

21|

Παράδειγμα 2

Μπορούμε να χρησιμοποιήσουμε συναρτήσεις low () ή upper για να μετατρέψουμε μια συμβολοσειρά σε πεζά ή κεφαλαία. Αυτό μπορεί να μας βοηθήσει να ξεπεράσουμε τη φύση της συνάρτησης με ευαισθησία πεζών-κεφαλαίων.

Παράδειγμα:

SELECT INSTR(lower('MySQL is awesome database engine'), bottom('DATABASE')) ως pos;

Αποτέλεσμα:

pos|

---+

21|

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

Παράδειγμα 3

Μπορούμε επίσης να χρησιμοποιήσουμε τη συνάρτηση instr() με μια στήλη πίνακα, όπως φαίνεται στην παρακάτω σύνταξη.

SELECT INSTR(όνομα_στήλης, 'substring')

FROM table_name;

Παράδειγμα:

ΔΗΜΙΟΥΡΓΙΑ ιστολογίων πίνακα (

id INT NOT NULL AUTO_INCREMENT ΚΥΡΙΟ ΚΛΕΙΔΙ,

τίτλος VARCHAR(255) NOT NULL,

περιεχόμενο ΚΕΙΜΕΝΟ ΟΧΙ ΜΗ ΝΟΥΛ,

date_posted DATE NOT NULL,

συγγραφέας VARCHAR(255) ΟΧΙ NULL

)

Εισαγάγετε ορισμένα δεδομένα:

INSERT INTO blogs (τίτλος, περιεχόμενο, ημερομηνία_δημοσίευσης, συγγραφέας)

VALUES ('Η πρώτη μου ανάρτηση ιστολογίου', 'Αυτό είναι το περιεχόμενο της πρώτης μου ανάρτησης ιστολογίου', '2022-12-09', 'Jane Doe');

INSERT INTO blogs (τίτλος, περιεχόμενο, ημερομηνία_δημοσίευσης, συγγραφέας)

VALUES ('Η δεύτερη ανάρτησή μου στο ιστολόγιο', 'Αυτό είναι το περιεχόμενο της δεύτερης ανάρτησής μου στο ιστολόγιο', '2022-12-10', 'Jane Doe');

INSERT INTO blogs (τίτλος, περιεχόμενο, ημερομηνία_δημοσίευσης, συγγραφέας)

VALUES ('Η τρίτη μου ανάρτηση ιστολογίου', 'Αυτό είναι το περιεχόμενο της τρίτης ανάρτησής μου στο ιστολόγιο', '2022-12-11', 'Jane Doe');

επιλέξτε * από ιστολόγια.

Πίνακας αποτελεσμάτων:

Μπορούμε να χρησιμοποιήσουμε τη συνάρτηση instr() για να πάρουμε τη θέση της υποσυμβολοσειράς «blog» στη στήλη περιεχομένου όπως φαίνεται:

επιλέξτε τίτλο, instr(περιεχόμενο, 'δημοσίευση') από ιστολόγια.

Αποτέλεσμα:

συμπέρασμα

Σε αυτό το σεμινάριο, μάθατε πώς να χρησιμοποιείτε τη συνάρτηση INSTR() στη MySQL για να βρείτε τη θέση μιας υποσυμβολοσειράς μέσα σε μια συμβολοσειρά. Η συνάρτηση είναι διάκριση πεζών-κεφαλαίων. Ως εκ τούτου, μπορεί να χρειαστεί να χρησιμοποιήσετε συναρτήσεις όπως το κάτω και το ανώτερο για να μετατρέψετε τις συμβολοσειρές αναζήτησης στις επιθυμητές περιπτώσεις.