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)
- V navigacijski vrstici na levi strani kliknite Baze podatkov.
- 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