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:

PostgreSQL Podniz

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:

PostgreSQL Podniz

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:

PostgreSQL Podniz

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:

PostgreSQL Podniz

Započeli smo ekstrakciju na poziciji 5, i ekstrahirana su 2 znaka.

Razmotrite donju tablicu knjiga:

PostgreSQL Podniz

Ž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:

PostgreSQL Podniz

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:

Usklađivanje podnizova sa SQL regularnim izrazom

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.

Podudaranje podnizova pomoću pgAdmin-a

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.

Podudaranje podnizova pomoću pgAdmin-a

Korak 5) Izvršenje upita je obavljeno.
Trebao bi vratiti sljedeće:

Podudaranje podnizova pomoću pgAdmin-a

Primjer 2:

SELECT substring('Guru99' from 1 for 4);

Trebao bi vratiti sljedeće:

Podudaranje podnizova pomoću pgAdmin-a

Evo sljedećeg primjera:

SELECT substring('Guru99' from 5);

Trebao bi vratiti sljedeće:

Podudaranje podnizova pomoću pgAdmin-a

Primjer 3:

SELECT substring('Guru99' from 5 for 2);

Trebao bi vratiti sljedeće:

Podudaranje podnizova pomoću pgAdmin-a

Sada pokrenimo primjer pomoću tablice Book Demo baze podataka:

Korak 1) Prijavite se na svoj pgAdmin račun.

Korak 2)

  1. Na navigacijskoj traci s lijeve strane kliknite Databases.
  2. Pritisnite Demo.

Podudaranje podnizova pomoću pgAdmin-a

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.

Podudaranje podnizova pomoću pgAdmin-a

Trebao bi vratiti sljedeće:

PostgreSQL Podniz

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.

Usklađivanje podnizova sa SQL regularnim izrazom

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.

Usklađivanje podnizova sa SQL regularnim izrazom

Trebao bi vratiti sljedeće:

Usklađivanje podnizova sa SQL regularnim izrazom

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