Какво е поднизът PostgreSQL?
Функцията за поднизове PostgreSQL ви помага да извлечете и върнете част от низ. Вместо да върне целия низ, той връща само част от него.
В този урок на PostgreSQL ще научите:
- Какво е Postgresql Substring?
- Синтаксис
- Примери
- Съвпадение на поднизовете със SQL Редовен израз
- Използване на pgAdmin
Синтаксис
Функцията за поднизове PostgreSQL приема следния синтаксис:
substring( string [from starting_position] [for length] )
Параметри
Име | Описание |
низ | Изходният низ, чийто тип данни е varchar, char, низ и др. |
начална_позиция | Това е незадължителен параметър. Той обозначава мястото, където ще започне извличането на низа. Ако пропуснете този параметър, извличането ще започне от позиция 1, която е първият знак в низа. |
дължина | Това е незадължителен параметър. Той обозначава броя символи, които трябва да бъдат извлечени от низа. Ако пропуснете този параметър, функцията ще се извлече от начална_позиция до края на низа. |
Примери
В този пример искаме да извлечем първите 4 знака от думата Guru99:
SELECT substring('Guru99' for 4);
Командата ще върне следното:
Не посочихме началната позиция, така че извличането на подниза започва от позиция 1. Извлечени са 4 знака за връщане на горното.
Следващият пример показва как да зададете началната позиция:
SELECT substring('Guru99' from 1 for 4);
Командата ще върне следното:
Посочихме, че извличането на подниза трябва да започне от позиция 1 и трябва да бъдат извлечени 4 знака.
Нека извлечем 99 от низа Guru99:
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;
Командата ще върне следното:
Сега имаме приблизителна представа за името на всяка книга.
Съвпадение на поднизовете със SQL Редовен израз
В PostgreSQL можем да извлечем подниз, отговарящ на определен регулярен израз POSIX. В този случай функцията на подниза се използва със следния синтаксис:
SUBSTRING(string FROM matching_pattern)
или
SUBSTRING(string, matching_pattern);
Ето обяснение на горните параметри:
Низът е изходният низ, чийто тип данни е varchar, char, низ и т.н.
Pattern_pattern е моделът, който ще се използва за търсене в низа.
Примери:
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
Командата ще върне следното:
Нашият въведен низ е вашата възраст е 22. В модела, ние търсим числов модел в нашия низ, когато това бъде намерено, функцията за подниз трябва да извлече само два знака.
Използване на pgAdmin
Сега нека видим как се извършват действията с помощта на pgAdmin.
Горните заявки, при които не се нуждаем от база данни, могат да бъдат изпълнени директно от прозореца на редактора на заявки. Просто направете следното:
Стъпка 1) Влезте във вашия pgAdmin акаунт.
Стъпка 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);
Той трябва да върне следното:
Сега нека пуснем примера, използвайки таблицата Book на базата данни Demo:
Стъпка 1) Влезте във вашия pgAdmin акаунт.
Стъпка 2)
- От лентата за навигация вляво щракнете върху Бази данни.
- Щракнете върху Демо.
Стъпка 3) Въведете заявката в редактора на заявки:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
Стъпка 4) Щракнете върху бутона за изпълнение.
Той трябва да върне следното:
Сега имаме основна идея за името на всяка книга.
Съвпадение на поднизовете със SQL Редовен израз
За да постигнете същото в pgAdmin, направете следното:
Стъпка 1) Влезте във вашия pgAdmin акаунт.
Стъпка 2) Щракнете върху иконата на инструмента за заявки.
Ще се отвори прозорецът на редактора на заявки.
Стъпка 3) Въведете следната заявка в прозореца на редактора.
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
Стъпка 4) Щракнете върху иконата за изпълнение, за да изпълните заявката.
Той трябва да върне следното:
Резюме:
- Функцията PostgreSQL Substring помага при извличане и връщане само на част от низ.
- Първият символ на низа е на позиция 1.
- Ако броят на символите, които трябва да бъдат извлечени от низа, не е посочен, функцията ще извлече символи от посочената начална позиция до края на низа.
- Ако е посочен броят на символите, които трябва да бъдат извлечени, ще бъде извлечен само този брой знаци.
Изтеглете базата данни, използвана в този урок