Što je PostgreSQL podniz?
PostgreSQL funkcija podniza pomaže vam u izdvajanju i vraćanju dijela niza. Umjesto da vrati cijeli niz, on vraća samo njegov dio.
U ovom vodiču za PostgreSQL naučit ćete:
- Što je Postgresql podniz?
- Sintaksa
- Primjeri
- Podudaranje podnizova s regularnim izrazom SQL
- Korištenje pgAdmin
Sintaksa
PostgreSQL funkcija podniza uzima sljedeću sintaksu:
substring( string [from starting_position] [for length] )
Parametri
Ime | Opis |
niz | Izvorni niz čiji je tip podataka varchar, char, string itd. |
polazna_pozicija | To je neobavezni parametar. Označava mjesto gdje će započeti vađenje niza. Ako izostavite ovaj parametar, izdvajanje će započeti s položaja 1, što je prvi znak u nizu. |
duljina | To je neobavezni parametar. Označava broj znakova koji se izvlače iz niza. Ako izostavite ovaj parametar, funkcija će se 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četni položaj, pa je izdvajanje podniza započelo na položaju 1. Izvučena su 4 znaka za povratak gore navedenog.
Sljedeći primjer pokazuje kako odrediti početni položaj:
SELECT substring('Guru99' from 1 for 4);
Naredba će vratiti sljedeće:
Naveli smo da vađenje podniza treba započeti s položaja 1 i izvaditi 4 znaka.
Izdvojimo 99 iz niza Guru99:
SELECT substring('Guru99' from 5);
Naredba će vratiti sljedeće:
Početni položaj odredili smo kao 5. Budući da nije naveden broj znakova koji se izvlače, izvlačenje se odvijalo do kraja niza.
Evo još jednog primjera:
SELECT substring('Guru99' from 5 for 2);
Naredba će vratiti sljedeće:
Započeli smo s vađenjem na položaju 5, a izvučena su 2 znaka.
Razmotrite donju tablicu knjiga:
Želimo dobiti okvirnu ideju o imenu svake knjige. Međutim, iz stupca imena tablice možemo izdvojiti samo prvih 15 znakova:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
Naredba će vratiti sljedeće:
Sada imamo okvirnu ideju o imenu svake knjige.
Podudaranje podnizova s regularnim izrazom SQL
U PostgreSQL-u možemo izdvojiti podniz koji odgovara određenom POSIX-ovom regularnom izrazu. U ovom slučaju, funkcija podniza koristi se sa sljedećom sintaksom:
SUBSTRING(string FROM matching_pattern)
ili
SUBSTRING(string, matching_pattern);
Evo objašnjenja gornjih parametara:
Niz je izvorni niz čiji je tip podataka varchar, char, string itd.
Uzorak_podudaranja je obrazac koji se koristi za pretraživanje u nizu.
Primjeri:
SELECTSUBSTRING ('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 obrascu tražimo numerički uzorak u našem nizu kada se to pronađe, funkcija podniza trebala bi izvući samo dva znaka.
Korištenje pgAdmin
Sada da vidimo kako se radnje izvode pomoću pgAdmin.
Gore navedeni upiti u kojima nam baza podataka nije potrebna 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) Kliknite ikonu alata za upite.
Otvorit će se prozor uređivača upita.
Korak 3) U prozoru uređivača upišite sljedeći upit.
SELECT substring('Guru99' for 4);
Korak 4) Kliknite ikonu Izvrši da biste izvršili upit.
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:
Ajmo sada pokrenuti primjer koristeći tablicu Book baze podataka Demo:
Korak 1) Prijavite se na svoj pgAdmin račun.
Korak 2)
- Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
- Pritisnite Demo.
Korak 3) Upišite upit u uređivač upita:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
Korak 4) Kliknite gumb Izvrši.
Trebao bi vratiti sljedeće:
Sada imamo osnovnu ideju o imenu svake knjige.
Podudaranje podnizova s regularnim izrazom SQL
Da biste postigli isto na pgAdmin, 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 prozoru uređivača upišite sljedeći upit.
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
Korak 4) Kliknite ikonu Izvrši da biste izvršili upit.
Trebao bi vratiti sljedeće:
Sažetak:
- PostgreSQL funkcija podniza pomaže u izdvajanju i vraćanju samo dijela niza.
- Prvi znak niza nalazi se na položaju 1.
- Ako broj znakova koji se trebaju izvući iz niza nije naveden, funkcija će izdvojiti znakove iz navedenog početnog položaja do kraja niza.
- Ako je naveden broj znakova koji će se izdvojiti, izvući će se samo taj broj znakova.
Preuzmite bazu podataka korištenu u ovom vodiču