PostgreSQL SUBSTRING() funkcija s primjerom regularnog izraza
โก Pametni saลพetak
PostgreSQL SUBSTRING extracts vraฤa dio niza, koristeฤi opcionalnu poฤetnu poziciju i duljinu, a takoฤer usporeฤuje tekst s POSIX regularnim izrazom kako bi izvukla uzorke poput brojeva ili kodova.

ล to je PostgreSQL Podniz?
The PostgreSQL Funkcija podniza vam pomaลพe da extract i vraฤa dio niza. Umjesto vraฤanja cijelog niza, vraฤa samo njegov dio, ลกto je korisno za skraฤivanje kodova i ฤitanje polja fiksne ลกirine.
Sintaksa
The PostgreSQL funkcija podniza ima sljedeฤu sintaksu:
substring( string [from starting_position] [for length] )
Parametri
Sljedeฤi parametri se koriste s funkcijom substring:
| niz | Izvorni niz ฤiji je tip podataka varchar, char, string itd. |
| poฤetni_poloลพaj | Neobavezni parametar. Oznaฤava mjesto gdje se extracIzrada niza ฤe zapoฤeti. Ako izostavite ovaj parametar, extracPoฤetak niza poฤinje od pozicije 1, ลกto je prvi znak u nizu. |
| duลพina | Neobavezni parametar. Oznaฤava broj znakova koji ฤe se prikazati.traciz niza. Ako izostavite ovaj parametar, funkcija extracts od poฤetne_pozicije do kraja niza. |
Primjeri
U ovom primjeru ลพelimo objasnititracprva 4 znaka iz rijeฤi Guru99:
SELECT substring('Guru99' for 4);
Naredba ฤe vratiti sljedeฤe:
Nismo odredili poฤetnu poziciju, pa je bivลกitracPoฤelo je na poziciji 1. ฤetiri znaka su izostavljenatracpotrebno je vratiti gornji rezultat.
Sljedeฤi primjer pokazuje kako odrediti poฤetnu poziciju:
SELECT substring('Guru99' from 1 for 4);
Naredba ฤe vratiti sljedeฤe:
Naveli smo da bivลกitracPodniz treba zapoฤeti od pozicije 1, a 4 znaka trebaju biti extracted.
Neka nam budetract 99 iz niza Guru99:
SELECT substring('Guru99' from 5);
Naredba ฤe vratiti sljedeฤe:
Poฤetnu poziciju smo odredili kao 5. Buduฤi da je broj znakova koje treba prikazatitracted nije bio naveden, bivลกitraccija je iลกla do kraja niza.
Evo joลก jednog primjera:
SELECT substring('Guru99' from 5 for 2);
Naredba ฤe vratiti sljedeฤe:
Zapoฤeli smo bivลกi/bivลกatraccija na poziciji 5, a 2 znaka su bila izostavljenatracted.
Razmotrite donju tablicu knjiga:
ลฝelimo dobiti okvirnu ideju o nazivu svake knjige. Moลพemo npr.tracsamo prvih 15 znakova iz stupca s imenom u tablici:
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ลพeลก bivลกitracpodniz koji odgovara odreฤenom POSIX regularnom izrazu. U ovom sluฤaju, funkcija podniza koristi sljedeฤu sintaksu:
SUBSTRING(string FROM matching_pattern)
or
SUBSTRING(string, matching_pattern);
Evo objaลกnjenja gore navedenih parametara. Niz je izvorni niz, ฤiji tip podataka je varchar, char, string i tako dalje. Matching_pattern je uzorak koji se koristi za pretraลพivanje u stringu.
Primjeri
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
Naredba ฤe vratiti sljedeฤe:
Naลก ulazni niz je Vaลกa dob je 22. U uzorku traลพimo numeriฤki uzorak; kada ga pronaฤe, funkcija podniza extracsamo dva znaka.
Kako uskladiti podnizove pomoฤu pgAdmin-a
Sada pogledajmo kako se ove radnje izvode pomoฤu pgAdmin-a. Upiti koji ne trebaju bazu podataka mogu se izvrลกiti izravno iz prozora ureฤivaฤa upita. Samo uฤinite sljedeฤe:
Korak 1) Prijavite se na svoj pgAdmin raฤun.
Korak 2) Na pgAdminu kliknite ikonu Alata za upite.
Otvorit ฤe se prozor ureฤivaฤa upita.
Korak 3) U prozor editora upiลกite sljedeฤi upit.
SELECT substring('Guru99' for 4);
Korak 4) Pritisnite ikonu Izvrลกi da biste izvrลกili upit.
Korak 5) Izvrลกavanje upita je zavrลกeno. 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 Baze podataka, a zatim kliknite 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) U prozor editora upiลกite sljedeฤi upit.
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:
Preuzmite bazu podataka koriลกtenu u ovom vodiฤu



















