Шта је ПостгреСКЛ подниз?
ПостгреСКЛ функција подниза вам помаже да извучете и вратите део низа. Уместо да врати цео низ, он враћа само његов део.
У овом упутству за ПостгреСКЛ научићете:
- Шта је Постгрескл подниз?
- Синтакса
- Примери
- Подударање поднизова са СКЛ регуларним изразом
- Коришћење пгАдмин
Синтакса
ПостгреСКЛ функција подниза узима следећу синтаксу:
substring( string [from starting_position] [for length] )
Параметри
Име | Опис |
низ | Изворни низ чији је тип података варцхар, цхар, стринг итд. |
почетни положај | То је опциони параметар. Означава место где ће почети вађење низа. Ако изоставите овај параметар, издвајање ће започети са положаја 1, што је први знак у низу. |
дужина | То је опциони параметар. Означава број знакова који се извлаче из низа. Ако изоставите овај параметар, функција ће се издвојити од почетне_позиције до краја низа. |
Примери
У овом примеру желимо да издвојимо прва 4 знака из речи Гуру99:
SELECT substring('Guru99' for 4);
Команда ће вратити следеће:
Нисмо навели почетну позицију, па је издвајање подниза почело на позицији 1. Извучена су 4 знака да би се вратило горе наведено.
Следећи пример показује како одредити почетну позицију:
SELECT substring('Guru99' from 1 for 4);
Команда ће вратити следеће:
Прецизирали смо да извлачење подниза треба почети од положаја 1, а треба извући 4 знака.
Извуцимо 99 из низа Гуру99:
SELECT substring('Guru99' from 5);
Команда ће вратити следеће:
Почетну позицију одредили смо као 5. Будући да број знакова који се извлаче није наведен, извлачење се одвијало до краја низа.
Ево још једног примера:
SELECT substring('Guru99' from 5 for 2);
Команда ће вратити следеће:
Започели смо са вађењем на положају 5, а издвојена су 2 знака.
Узмите у обзир доњу табелу књига:
Желимо да добијемо оквирну идеју о имену сваке књиге. Међутим, из колоне имена табеле можемо издвојити само првих 15 знакова:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
Команда ће вратити следеће:
Сада имамо оквирну идеју о имену сваке књиге.
Подударање поднизова са СКЛ регуларним изразом
У ПостгреСКЛ-у можемо издвојити подниз који одговара одређеном ПОСИКС регуларном изразу. У овом случају, функција подниза се користи са следећом синтаксом:
SUBSTRING(string FROM matching_pattern)
или
SUBSTRING(string, matching_pattern);
Ево објашњења горњих параметара:
Низ је изворни низ чији је тип података варцхар, цхар, стринг итд.
Узорак_подударања је образац који се користи за претраживање у низу.
Примери:
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
Команда ће вратити следеће:
Наш уносни низ је ваша старост је 22. У обрасцу тражимо нумерички узорак у нашем низу када се то пронађе, функција подниза треба да издвоји само два знака.
Коришћење пгАдмин
Сада да видимо како се радње изводе помоћу пгАдмин-а.
Горе наведени упити где нам није потребна база података могу се извршити директно из прозора уређивача упита. Само урадите следеће:
Корак 1) Пријавите се на свој пгАдмин налог.
Корак 2) Кликните икону Куери Тоол.
Отвориће се прозор уређивача упита.
Корак 3) У прозору уређивача откуцајте следећи упит.
SELECT substring('Guru99' for 4);
Корак 4) Кликните икону Изврши да бисте извршили упит.
Требало би да врати следеће:
Пример 2:
SELECT substring('Guru99' from 1 for 4);
Требало би да врати следеће:
Ево следећег примера:
SELECT substring('Guru99' from 5);
Требало би да врати следеће:
Пример 3:
SELECT substring('Guru99' from 5 for 2);
Требало би да врати следеће:
Ајмо сада да покренемо пример користећи табелу Боок базе података Демо:
Корак 1) Пријавите се на свој пгАдмин налог.
Корак 2)
- На траци за навигацију са леве стране кликните на Базе података.
- Кликните Демо.
Корак 3) Укуцајте упит у уређивачу упита:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
Корак 4) Кликните на дугме Изврши.
Требало би да врати следеће:
Сада имамо основну идеју о имену сваке књиге.
Подударање поднизова са СКЛ регуларним изразом
Да бисте постигли исто на пгАдмин, урадите следеће:
Корак 1) Пријавите се на свој пгАдмин налог.
Корак 2) Кликните икону Куери Тоол.
Отвориће се прозор уређивача упита.
Корак 3) У прозору уређивача откуцајте следећи упит.
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
Корак 4) Кликните икону Изврши да бисте извршили упит.
Требало би да врати следеће:
Резиме:
- ПостгреСКЛ функција подниза помаже у издвајању и враћању само дела низа.
- Први знак низа је на положају 1.
- Ако број знакова који се извлаче из низа није наведен, функција ће извући знакове из наведеног почетног положаја до краја низа.
- Ако је наведен број знакова који се извлаче, извући ће се само тај број знакова.
Преузмите базу података кориштену у овом водичу