PostgreSQL SUBSTRING() Funcție cu exemplu regex
⚡ Rezumat inteligent
PostgreSQL SUBȘIR extracts și returnează o parte a unui șir de caractere, folosind o poziție de pornire și o lungime opționale și, de asemenea, potrivește textul cu o expresie regulată POSIX pentru a extrage modele precum numere sau coduri.

Ce Este PostgreSQL Subșir?
PostgreSQL Funcția de subșir te ajută să exprimitract și returnează o parte dintr-un șir de caractere. În loc să returneze întregul șir de caractere, returnează doar o parte din acesta, ceea ce este util pentru reducerea codurilor și citirea câmpurilor cu lățime fixă.
Sintaxă
PostgreSQL funcția subșir are următoarea sintaxă:
substring( string [from starting_position] [for length] )
parametrii
Următorii parametri sunt utilizați cu funcția subșir:
| şir | Șirul sursă al cărui tip de date este varchar, char, șir etc. |
| poziție_de_pornire | Un parametru opțional. Acesta indică locul unde extracțiunea șirului va începe. Dacă omiteți acest parametru, exemplultracțiunea începe de la poziția 1, care este primul caracter din șir. |
| lungime | Un parametru opțional. Acesta indică numărul de caractere care vor fi exprimate.tracted din șir. Dacă omiteți acest parametru, funcția extracts de la poziția_starting până la sfârșitul șirului. |
Exemple
În acest exemplu, vrem să exprimămtracprimele 4 caractere din cuvânt Guru99:
SELECT substring('Guru99' for 4);
Comanda va returna următoarele:
Nu am specificat poziția de pornire, așa că extracțiune a subșirului care a început la poziția 1. Patru caractere au fost exprimatetracted să returneze rezultatul de mai sus.
Următorul exemplu arată cum se specifică poziția de pornire:
SELECT substring('Guru99' from 1 for 4);
Comanda va returna următoarele:
Am specificat că fostultracțiunea subșirului ar trebui să înceapă de la poziția 1 și ar trebui să fie exprimate 4 caracteretracted.
Să exprimămtract 99 din șir Guru99:
SELECT substring('Guru99' from 5);
Comanda va returna următoarele:
Am specificat poziția de pornire ca fiind 5. Deoarece numărul de caractere care trebuie exprimatetracted nu a fost specificat, fostultracțiunea a alergat până la capătul șirului.
Iată un alt exemplu:
SELECT substring('Guru99' from 5 for 2);
Comanda va returna următoarele:
Am început cu fostultracțiune la poziția 5 și 2 caractere au fost exprimatetracted.
Luați în considerare tabelul Cărții de mai jos:
Vrem să ne facem o idee aproximativă despre titlul fiecărei cărți. Putem extracdoar primele 15 caractere din coloana de nume a tabelului:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Comanda va returna următoarele:
Acum avem o idee aproximativă despre numele fiecărei cărți.
Potrivirea subșirurilor cu expresia regulată SQL
In PostgreSQL, poți extracun subșir care corespunde unei expresii regulate POSIX specificate. În acest caz, funcția subșir folosește următoarea sintaxă:
SUBSTRING(string FROM matching_pattern)
or
SUBSTRING(string, matching_pattern);
Iată o explicație a parametrilor de mai sus. Șirul este șirul sursă, al cărui tip de date este varchar, char, string și așa mai departe. matching_pattern este modelul utilizat pentru căutarea în șir.
Exemple
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
Comanda va returna următoarele:
Șirul nostru de intrare este Vârsta ta este 22. În model, căutăm un model numeric; când este găsit, funcția subșir extracSunt doar două personaje.
Cum să potrivești subșiruri folosind pgAdmin
Acum să vedem cum se efectuează aceste acțiuni folosind pgAdmin. Interogările care nu necesită o bază de date pot fi executate direct din fereastra editorului de interogări. Pur și simplu faceți următoarele:
Pas 1) Conectați-vă la contul dvs. pgAdmin.
Pas 2) În pgAdmin, faceți clic pe pictograma Instrument de interogare.
Se va deschide fereastra editorului de interogări.
Pas 3) Tastați următoarea interogare în fereastra editorului.
SELECT substring('Guru99' for 4);
Pas 4) Faceți clic pe pictograma Execute pentru a executa interogarea.
Pas 5) Execuția interogării este finalizată. Ar trebui să returneze următoarele:
Exemplu 2:
SELECT substring('Guru99' from 1 for 4);
Ar trebui să returneze următoarele:
Iată următorul exemplu:
SELECT substring('Guru99' from 5);
Ar trebui să returneze următoarele:
Exemplu 3:
SELECT substring('Guru99' from 5 for 2);
Ar trebui să returneze următoarele:
Acum, să rulăm exemplul folosind tabelul Book al bazei de date Demo:
Pas 1) Conectați-vă la contul dvs. pgAdmin.
Pas 2) Din bara de navigare din stânga, faceți clic pe Baze de date, apoi pe Demo.
Pas 3) Introduceți interogarea în editorul de interogări:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Pas 4) Faceți clic pe butonul Execute.
Ar trebui să returneze următoarele:
Acum avem o idee de bază despre numele fiecărei cărți.
Potrivirea subșirurilor cu expresia regulată SQL
Pentru a realiza același lucru pe pgAdmin, faceți următoarele:
Pas 1) Conectați-vă la contul dvs. pgAdmin.
Pas 2) Faceți clic pe pictograma Instrument de interogare.
Se va deschide fereastra editorului de interogări.
Pas 3) Tastați următoarea interogare în fereastra editorului.
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
Pas 4) Faceți clic pe pictograma Execute pentru a executa interogarea.
Ar trebui să returneze următoarele:
Descărcați baza de date folosită în acest tutorial



















