Ce este PostgreSQL Substring?
Funcția de substring PostgreSQL vă ajută să extrageți și să returnați o parte a unui șir. În loc să returneze întregul șir, acesta returnează doar o parte din acesta.
În acest tutorial PostgreSQL, veți învăța:
- Ce este Postgresql Substring?
- Sintaxă
- Exemple
- Potrivirea șirurilor de caractere cu SQL Express Expression
- Folosind pgAdmin
Sintaxă
Funcția de substring PostgreSQL are următoarea sintaxă:
substring( string [from starting_position] [for length] )
Parametrii
Nume | Descriere |
şir | Șirul sursă al cărui tip de date este varchar, char, șir etc. |
poziție_de pornire | Este un parametru opțional. Denotă locul în care va începe extragerea șirului. Dacă omiteți acest parametru, extracția va începe din poziția 1, care este primul caracter din șir. |
lungime | Este un parametru opțional. Denotă numărul de caractere care trebuie extrase din șir. Dacă omiteți acest parametru, funcția va fi extrasă din start_position până la sfârșitul șirului. |
Exemple
În acest exemplu, vrem să extragem primele 4 caractere din cuvântul Guru99:
SELECT substring('Guru99' for 4);
Comanda va returna următoarele:
Nu am specificat poziția inițială, deci extracția șirului începe la poziția 1. Au fost extrase 4 caractere pentru a returna cele de mai sus.
Următorul exemplu arată cum să specificați poziția de pornire:
SELECT substring('Guru99' from 1 for 4);
Comanda va returna următoarele:
Am specificat că extragerea șirului ar trebui să înceapă din poziția 1 și ar trebui 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 5. Deoarece nu a fost specificat numărul de caractere care trebuie extrase, extracția 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 extragerea la poziția 5 și au fost extrase 2 caractere.
Luați în considerare tabelul de carte dat 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:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
Comanda va returna următoarele:
Acum avem o idee aproximativă despre numele fiecărei cărți.
Potrivirea șirurilor de caractere cu SQL Express Expression
În PostgreSQL, putem extrage un șir care se potrivește cu o expresie regulată POSIX specificată. În acest caz, funcția de șir este utilizată cu următoarea sintaxă:
SUBSTRING(string FROM matching_pattern)
sau
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.
Match_pattern este modelul care trebuie utilizat pentru căutarea în șir.
Exemple:
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
Comanda va returna următoarele:
Șirul nostru de intrare este de vârsta dvs. este de 22 de ani. În model, căutăm un model numeric în șirul nostru atunci când acesta este găsit, funcția de șir ar trebui să extragă doar două caractere.
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. Efectuați următoarele:
Pasul 1) Conectați-vă la contul dvs. pgAdmin.
Pasul 2) Faceți clic pe pictograma Instrument de interogare.
Se va deschide fereastra editorului de interogări.
Pasul 3) Tastați următoarea interogare în fereastra editorului.
SELECT substring('Guru99' for 4);
Pasul 4) Faceți clic pe pictograma Executare pentru a executa interogarea.
Ar trebui să returneze următoarele:
Exemplul 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:
Exemplul 3:
SELECT substring('Guru99' from 5 for 2);
Ar trebui să returneze următoarele:
Acum, haideți să rulăm exemplul folosind tabelul Book din baza de date Demo:
Pasul 1) Conectați-vă la contul dvs. pgAdmin.
Pasul 2)
- Din bara de navigare din stânga - Faceți clic pe Baze de date.
- Faceți clic pe Demo.
Pasul 3) Tastați interogarea în editorul de interogări:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
Pasul 4) Faceți clic pe butonul Executare.
Ar trebui să returneze următoarele:
Acum avem o idee de bază despre numele fiecărei cărți.
Potrivirea șirurilor de caractere cu SQL Express Expression
Pentru a realiza același lucru pe pgAdmin, procedați în felul următor:
Pasul 1) Conectați-vă la contul dvs. pgAdmin.
Pasul 2) Faceți clic pe pictograma Instrument de interogare.
Se va deschide fereastra editorului de interogări.
Pasul 3) Tastați următoarea interogare în fereastra editorului.
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
Pasul 4) Faceți clic pe pictograma Executare pentru a executa interogarea.
Ar trebui să returneze următoarele:
Rezumat:
- Funcția PostgreSQL Substring ajută la extragerea și returnarea doar a unei părți a unui șir.
- Primul caracter al șirului se află în poziția 1.
- Dacă nu este specificat numărul de caractere care trebuie extrase din șir, funcția va extrage caractere din poziția inițială specificată până la sfârșitul șirului.
- Dacă este specificat numărul de caractere care trebuie extrase, va fi extras doar acel număr de caractere.
Descărcați baza de date utilizată în acest tutorial