PostgreSQL SUBSTRING () s primjerom

Sadržaj:

Anonim

Š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)

  1. Na navigacijskoj traci s lijeve strane kliknite Baze podataka.
  2. 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