PostgreSQL SUBSTRING () s primerom

Kazalo:

Anonim

Kaj je podniz StringSQL?

Funkcija podniza PostgreSQL vam pomaga izvleči in vrniti del niza. Namesto da vrne cel niz, vrne le njegov del.

V tej vadnici PostgreSQL boste izvedeli:

  • Kaj je Postgresql podniz?
  • Sintaksa
  • Primeri
  • Ujemanje podnizov z regularnim izrazom SQL
  • Uporaba pgAdmin

Sintaksa

Funkcija podniza PostgreSQL ima naslednjo sintakso:

substring( string [from starting_position] [for length] )

Parametri

Ime Opis
vrvica Izvorni niz, katerega podatkovni tip je varchar, char, string itd.
začetna_pozicija To je neobvezen parameter. Označuje kraj, kjer se bo začelo pridobivanje niza. Če tega parametra izpustite, se ekstrakcija začne s položaja 1, ki je prvi znak v nizu.
dolžina To je neobvezen parameter. Označuje število znakov, ki jih je treba izvleči iz niza. Če tega parametra izpustite, se bo funkcija izvlekla iz začetne_pozicije v konec niza.

Primeri

V tem primeru želimo iz besede Guru99 izluščiti prve 4 znake:

SELECT substring('Guru99' for 4);

Ukaz bo vrnil naslednje:

Nismo navedli začetnega položaja, zato je bilo ekstrahiranje podniz začeti na položaju 1. Za vrnitev zgoraj so bili izvlečeni 4 znaki.

Naslednji primer prikazuje, kako določiti začetni položaj:

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

Ukaz bo vrnil naslednje:

Določili smo, da se mora ekstrakcija podniza začeti s položaja 1 in izvleči 4 znake.

Izvlecimo 99 iz niza Guru99:

SELECT substring('Guru99' from 5);

Ukaz bo vrnil naslednje:

Začetni položaj smo določili kot 5. Ker število znakov, ki jih je treba izvleči, ni bilo določeno, je ekstrakcija tekla do konca niza.

Tu je še en primer:

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

Ukaz bo vrnil naslednje:

Začeli smo z ekstrakcijo na položaju 5 in izvlekli smo 2 znaka.

Upoštevajte spodnjo tabelo knjig:

Želimo si približno predstaviti ime vsake knjige. Vendar pa lahko iz stolpca imena tabele izvlečemo samo prvih 15 znakov:

SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;

Ukaz bo vrnil naslednje:

Zdaj imamo približno predstavo o imenu vsake knjige.

Ujemanje podnizov z regularnim izrazom SQL

V PostgreSQL lahko izvlečemo podniz, ki se ujema z določenim regularnim izrazom POSIX. V tem primeru se funkcija podniz uporablja z naslednjo sintakso:

SUBSTRING(string FROM matching_pattern)

ali

SUBSTRING(string, matching_pattern);

Tu je razlaga zgornjih parametrov:

Niz je izvorni niz, katerega podatkovni tip je varchar, char, string itd.

Match_pattern je vzorec, ki se uporablja za iskanje v nizu.

Primeri:

SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;

Ukaz bo vrnil naslednje:

Naš vhodni niz je vaša starost 22. V vzorcu iščemo številski vzorec v našem nizu, ko ga najdemo, naj funkcija podniza izvleče samo dva znaka.

Uporaba pgAdmin

Zdaj pa poglejmo, kako se dejanja izvajajo s pomočjo pgAdmin.

Zgornje poizvedbe, pri katerih ne potrebujemo baze podatkov, lahko izvedemo neposredno iz okna urejevalnika poizvedb. Samo naredite naslednje:

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

Korak 2) Kliknite ikono orodja za poizvedbe.

Odpre se okno urejevalnika poizvedb.

Korak 3) V okno urejevalnika vnesite naslednjo poizvedbo.

SELECT substring('Guru99' for 4);

Korak 4) Za izvedbo poizvedbe kliknite ikono Izvedi.

Vrniti mora naslednje:

2. primer:

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

Vrniti mora naslednje:

Tu je naslednji primer:

SELECT substring('Guru99' from 5);

Vrniti mora naslednje:

3. primer:

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

Vrniti mora naslednje:

Zdaj pa zaženimo primer z uporabo tabele Book baze podatkov Demo:

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

2. korak)

  1. V navigacijski vrstici na levi strani kliknite Baze podatkov.
  2. Kliknite Demo.

3. korak) Vnesite poizvedbo v urejevalnik poizvedb:

SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;

Korak 4) Kliknite gumb Izvedi.

Vrniti mora naslednje:

Zdaj imamo osnovno predstavo o imenu vsake knjige.

Ujemanje podnizov z regularnim izrazom SQL

Če želite to storiti na pgAdmin, naredite naslednje:

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

Korak 2) Kliknite ikono orodja za poizvedbe.

Odpre se okno urejevalnika poizvedb.

Korak 3) V okno urejevalnika vnesite naslednjo poizvedbo.

SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;

Korak 4) Za izvedbo poizvedbe kliknite ikono Izvedi.

Vrniti mora naslednje:

Povzetek:

  • Funkcija PostgreSQL Substring pomaga pri pridobivanju in vračanju samo dela niza.
  • Prvi znak niza je na položaju 1.
  • Če število znakov, ki jih je treba izvleči iz niza, ni določeno, bo funkcija izvlekla znake iz določenega začetnega položaja na konec niza.
  • Če je določeno število znakov, ki jih je treba izvleči, bo izvlečeno le to število znakov.

Prenesite zbirko podatkov, uporabljeno v tej vadnici