PostgreSQL SUBSTRING() Funcție cu exemplu regex
Ce Este PostgreSQL Subșir?
PostgreSQL funcția substring vă ajută să extrageți și să returnați o parte dintr-un șir. În loc să returneze întregul șir, returnează doar o parte din el.
Sintaxă
PostgreSQL funcția subșir are următoarea sintaxă:
substring( string [from starting_position] [for length] )
parametrii
Nume | Description |
---|---|
şir | Șirul sursă al cărui tip de date este varchar, char, șir etc. |
poziție_de_pornire | Este un parametru optional. Indică locul de unde va începe extragerea șirului. Dacă omiteți acest parametru, extragerea va începe din poziția 1, care este primul caracter din șir. |
lungime | Este un parametru opțional. Indică numărul de caractere care trebuie extrase din șir. Dacă omiteți acest parametru, funcția va extrage de la starting_position până la sfârșitul șirului. |
Exemple
În acest exemplu, dorim să extragem primele 4 caractere din cuvântul Guru99:
SELECT substring('Guru99' for 4);
Comanda va returna următoarele:
Nu am specificat poziția de pornire, așa că extragerea subșirului începe de la poziția 1. Au fost extrase 4 caractere pentru a returna cele 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 precizat că extragerea subșirului trebuie să înceapă de la poziția 1, și să fie extrase 4 caractere.
Să extragem 99 din șirul 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 de extras nu a fost specificat, extragerea a rulat până la sfârșitul șirului.
Iată un alt exemplu:
SELECT substring('Guru99' from 5 for 2);
Comanda va returna următoarele:
Am început extracția de la poziția 5 și au fost extrase 2 caractere.
Luați în considerare tabelul Cărții de mai jos:
Vrem să ne facem o idee aproximativă despre numele fiecărei cărți. Cu toate acestea, putem extrage doar 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, putem extrage un subșir care se potrivește cu o expresie regulată POSIX specificată. În acest caz, funcția subșir este utilizată cu 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, șir etc.
Mating_pattern este modelul care trebuie 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 în șirul nostru când acesta este găsit, funcția subșir ar trebui să extragă doar două caractere.
Cum să potriviți subșiruri folosind pgAdmin
Acum să vedem cum sunt efectuate acțiunile folosind pgAdmin.
Interogările de mai sus în care nu avem nevoie de o bază de date pot fi executate direct din fereastra editorului de interogări. Doar faceți următoarele:
Pas 1) Conectați-vă la contul dvs.
Conectați-vă la contul dvs. pgAdmin.
Pas 2) Pe pgAdmin,
Faceți clic pe pictograma Instrument de interogare.
Se va deschide fereastra editorului de interogări.
Pas 3) Tastați interogarea.
Tastați următoarea interogare în fereastra editorului.
SELECT substring('Guru99' for 4);
Pas 4) Executați interogarea
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.
- Faceți clic 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:
Rezumat
- PostgreSQL Funcția subșir ajută la extragerea și returnarea doar a unei părți a unui șir.
- Primul caracter al șirului este în poziția 1.
- Dacă numărul de caractere care trebuie extrase din șir nu este specificat, funcția va extrage caractere din poziția de început specificată până la sfârșitul șirului.
- Dacă este specificat numărul de caractere de extras, va fi extras doar acel număr de caractere.
Descărcați baza de date folosită în acest tutorial