PostgreSQL SUBSTRING () с пример

Съдържание:

Anonim

Какво е поднизът 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)

  1. От лентата за навигация вляво щракнете върху Бази данни.
  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.
  • Ако броят на символите, които трябва да бъдат извлечени от низа, не е посочен, функцията ще извлече символи от посочената начална позиция до края на низа.
  • Ако е посочен броят на символите, които трябва да бъдат извлечени, ще бъде извлечен само този брой знаци.

Изтеглете базата данни, използвана в този урок