PostgreSQL SUBSTRING() funkcija s primjerom regularnog izraza
Što je PostgreSQL Podniz?
The PostgreSQL funkcija substring pomaže vam izdvojiti i vratiti dio niza. Umjesto da vrati cijeli niz, vraća samo njegov dio.
Sintaksa
The PostgreSQL funkcija podniza ima sljedeću sintaksu:
substring( string [from starting_position] [for length] )
Parametri
Ime i Prezime | Description |
---|---|
niz | Izvorni niz čiji je tip podataka varchar, char, string itd. |
početni_položaj | To je izborni parametar. Označava mjesto gdje će započeti izvlačenje strune. Ako izostavite ovaj parametar, ekstrakcija će započeti od pozicije 1, što je prvi znak u nizu. |
dužina | To je izborni parametar. Označava broj znakova koje treba izdvojiti iz niza. Ako izostavite ovaj parametar, funkcija će izdvojiti od početne_pozicije do kraja niza. |
Primjeri
U ovom primjeru želimo izdvojiti prva 4 znaka iz riječi Guru99:
SELECT substring('Guru99' for 4);
Naredba će vratiti sljedeće:
Nismo naveli početnu poziciju, tako da ekstrakcija podniza počinje na poziciji 1. Izdvojena su 4 znaka da se vrati gore navedeno.
Sljedeći primjer pokazuje kako odrediti početnu poziciju:
SELECT substring('Guru99' from 1 for 4);
Naredba će vratiti sljedeće:
Specificirali smo da ekstrakcija podniza treba početi od pozicije 1, a treba ekstrahirati 4 znaka.
Izdvojimo 99 iz niza Guru99:
SELECT substring('Guru99' from 5);
Naredba će vratiti sljedeće:
Naveli smo početnu poziciju kao 5. Budući da broj znakova koje treba ekstrahirati nije bio naveden, ekstrakcija se izvodila do kraja niza.
Evo još jednog primjera:
SELECT substring('Guru99' from 5 for 2);
Naredba će vratiti sljedeće:
Započeli smo ekstrakciju na poziciji 5, i ekstrahirana su 2 znaka.
Razmotrite donju tablicu knjiga:
Želimo dobiti okvirnu ideju o nazivu svake knjige. Međutim, možemo izdvojiti samo prvih 15 znakova iz stupca naziva tablice:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Naredba će vratiti sljedeće:
Sada imamo okvirnu ideju o nazivu svake knjige.
Usklađivanje podnizova sa SQL regularnim izrazom
In PostgreSQL, možemo izdvojiti podniz koji odgovara navedenom POSIX regularnom izrazu. U ovom slučaju, funkcija podniza koristi se sa sljedećom sintaksom:
SUBSTRING(string FROM matching_pattern)
or
SUBSTRING(string, matching_pattern);
Evo objašnjenja gornjih parametara:
Niz je izvorni niz čiji tip podataka je varchar, char, string itd.
Matching_pattern je uzorak koji se koristi za pretraživanje u nizu.
Primjeri
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
Naredba će vratiti sljedeće:
Naš ulazni niz je da imate 22 godine. U uzorku tražimo numerički uzorak u našem nizu kada se to pronađe, funkcija podniza trebala bi izdvojiti samo dva znaka.
Kako uskladiti podnizove koristeći pgAdmin
Sada da vidimo kako se radnje izvode pomoću pgAdmin-a.
Gore navedeni upiti gdje nam nije potrebna baza podataka mogu se izvršiti izravno iz prozora uređivača upita. Samo učinite sljedeće:
Korak 1) Prijavite se na svoj račun.
Prijavite se na svoj pgAdmin račun.
Korak 2) Na pgAdmin-u,
Kliknite ikonu Alata za upite.
Otvorit će se prozor uređivača upita.
Korak 3) Upišite upit.
Unesite sljedeći upit u prozor uređivača.
SELECT substring('Guru99' for 4);
Korak 4) Izvrši upit
Pritisnite ikonu Izvrši da biste izvršili upit.
Korak 5) Izvršenje upita je obavljeno.
Trebao bi vratiti sljedeće:
Primjer 2:
SELECT substring('Guru99' from 1 for 4);
Trebao bi vratiti sljedeće:
Evo sljedećeg primjera:
SELECT substring('Guru99' from 5);
Trebao bi vratiti sljedeće:
Primjer 3:
SELECT substring('Guru99' from 5 for 2);
Trebao bi vratiti sljedeće:
Sada pokrenimo primjer pomoću tablice Book Demo baze podataka:
Korak 1) Prijavite se na svoj pgAdmin račun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Databases.
- Pritisnite Demo.
Korak 3) Unesite upit u uređivač upita:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Korak 4) Pritisnite gumb Izvrši.
Trebao bi vratiti sljedeće:
Sada imamo osnovnu ideju imena svake knjige.
Usklađivanje podnizova sa SQL regularnim izrazom
Da biste postigli isto na pgAdmin-u, učinite sljedeće:
Korak 1) Prijavite se na svoj pgAdmin račun.
Korak 2) Kliknite ikonu Alata za upite.
Otvorit će se prozor uređivača upita.
Korak 3) Unesite sljedeći upit u prozor uređivača.
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
Korak 4) Pritisnite ikonu Izvrši da biste izvršili upit.
Trebao bi vratiti sljedeće:
rezime
- The PostgreSQL Funkcija substring pomaže u izdvajanju i vraćanju samo dijela niza.
- Prvi znak niza nalazi se na poziciji 1.
- Ako broj znakova koje treba izdvojiti iz niza nije naveden, funkcija će izdvojiti znakove od navedene početne pozicije do kraja niza.
- Ako je naveden broj znakova koji se izdvajaju, izdvajat će se samo taj broj znakova.
Preuzmite bazu podataka korištenu u ovom vodiču