Структурираният език за заявки има за цел да даде на потребителите възможността да извличат данните в желан от тях формат. В тази статия за подниз в SQL ще ви покажа как да извлечете набор от символи от низ. Следните теми ще бъдат разгледани в тази статия:
- Какво е SQL?
- Какво е SUBSTRING в SQL?
- Синтаксис:
- SUBSTRING Примери:
- Използвайте SUBSTRING за литерали
- Използвайте SUBSTRING в таблица с условия
- ИЗПОЛЗВАЙТЕ SUBSTRING за вложени заявки
Нека започнем!
Какво е SQL?
SQL или езикът за структурирани заявки е разработен от Доналд Д. Чембърлин и се използва за управление, достъп и извличане на данни в база данни. Състои се от различни команди, разделени в 4 категории (DDL, DML, DCL и TCL). SUBSTRING е една такава команда в SQL, използвана за извличане на набор от знаци от посочения низ.
След това в тази статия нека се задълбочим в това какво е SUBSTRING в SQL и как да го използваме.
Какво е SUBSTRING в SQL?
SUBSTRING в SQL е функция, използвана за извличане на знаци от низ. С помощта на тази функция можете да извлечете произволен брой поднизове от един низ.
Синтаксис:
SUBSTRING(string, starting_value, length)
Ето,
- Стринг – Представлява низа, от който трябва да извлечете набор от знаци.
- Начална_стойност – Това представлява началната позиция на низа. На първия знак в низа се дава стойност 1.
- Дължина – Представлява броя на знаците, които искате да извлечете.
Вижте изображението по-долу за графичното представяне на SUBSTRING в SQL.
Забележка:
- Функцията SUBSTRING ще изведе грешка, ако параметърът за дължина е отрицателен.
- Дължината на знаците може да надвишава максималната дължина на оригиналния низ. При такъв сценарий целият низ ще бъде извлечен от споменатата начална позиция.
- И трите полета са задължителни в тази функция
- Ако началната позиция е по-голяма от максималния брой знаци в низа, тогава нищо не се връща.
Тъй като разбрахте синтаксиса и правилата за използване на SUBSTRING в SQL, нека сега обсъдим различните начини за използването му.
SUBSTRING Примери:
За по-добро разбиране разделих примерите на следните секции:
-
- Използвайте SUBSTRING за литерали
- Използвайте SUBSTRING в таблица с условия
- ИЗПОЛЗВАЙТЕ SUBSTRING за вложени заявки
Нека разгледаме всеки един от тях.
Използвайте SUBSTRING за литерали
Когато използвате SUBSTRING в SQL за литерали, той извлича подниз от посочения низ с дължина и започваща от първоначалната стойност, посочена от потребителя.
Пример 1
Напишете заявка за извличане на подниз от низа „Edureka“, започвайки от 2 знака и трябва да съдържа 4 знака.
SELECT SUBSTRING(‘Edureka’, 2, 4);
Изход
dure
Пример 2
Напишете заявка за извличане на подниз от 8 знака, като се започне от 2 знака от низа „Edureka“. Тук, ако забележите, трябва да извлечем подниз с дължина, по-голяма от максималната дължина на израза.
SELECT SUBSTRING(‘Edureka’, 2, 8);
Изход
dureka
Използвайте SUBSTRING в таблица с условия
Разгледайте таблицата по-долу с името на таблицата Клиенти.
CustID | Име на потребителя | CustEmail |
1 | Анудж | |
2 | Акаш | |
3 | Митали | |
4 | Сонали | |
5 | Санджай |
Ако искате да знаете как да създадете таблица и да вмъкнете стойности в нея, можете да се обърнете към статията за израза CREATE и INSERT.
Пример 1
Напишете заявка за извличане на подниз от 3 знака, като се започне от 1 знак за CustName „Akash“.
SELECT SUBSTRING(CustName, 1, 3) FROM Customers WHERE CustName = ‘Akash’;
Изход
Aka
Пример 2
Напишете заявка за извличане на подниз до края на низа, като се започне от 2 знака от CustName „Akash“.
SELECT SUBSTRING(CustName, 2) FROM Customers WHERE CustName = ‘Akash’;
Изход
kash
Пример 3
Напишете заявка за извличане на подниз от 3 знака, като се започне от 2 знака за CustName и го подредете според CustName.
SELECT CustName FROM Customers ORDER BY SUBSTRING(CustName, 2, 3);
Изход:
anj ita kas nuj ona
ИЗПОЛЗВАЙТЕ SUBSTRING за вложени заявки
В този раздел на тази статия за подниз в SQL, нека разберем как да използваме функцията SUBSTRING при вложени заявки. За да разберем същото, нека разгледаме таблицата Клиенти, която разгледахме по-горе.
Пример:
Напишете заявка за извличане на целия домейн от колоната CustEmail в таблицата Customers.
SELECT CustEmail, SUBSTRING( CustEmail, CHARINDEX('@', CustEmail)+1, LEN(CustEmail)-CHARINDEX('@', CustEmail) ) Domain FROM Customers ORDER BY CustEmail;
Изход :
CustEmail | Домейн |
abc.com | |
xyz.com | |
pqr.com | |
abc.com | |
xyz.com |
Тъй като домейнът започва след знака @, ние използвахме функцията CHARINDEX() за търсене на символа @ в колоната CustEmail. След това резултатът от тази функция се използва за определяне на началната позиция и дължината на подниза, който трябва да бъде извлечен.
И така, хора, ето как, можете да използвате функцията SUBSTRING в SQL, за да извличате данни. С това стигаме до края на тази статия за SUBSTRING в SQL. Надявам се, че сте намерили тази статия за информативна.
Ако искате да научите повече за MySQL и се запознайте с тази релационна база данни с отворен код, след което разгледайте нашата Обучение за сертифициране на MySQL DBA който идва с обучение на живо от инструктор и реален опит с проекти. Това обучение ще ви помогне да разберете MySQL в дълбочина и ще ви помогне да постигнете майсторство по темата.
Имате въпрос към нас? Моля, споменете го в секцията за коментари на тази статия и аз ще се свържа с вас.