Функція SUBSTRING в SQL-запитах найчастіше використовується при роботі з текстовими даними - вона відповідає за "обрізання" передається у неї рядка.
Синтаксис
Як і в більшості мов програмування, включаючи ORACLE і MS SQL, SUBSTRING включає в себе три параметра. Першим аргументом функції є сама вхідний рядок - її можна як явно прописати, так і отримати в результаті виконання деякого запиту. Далі йдуть два числових параметри - стартовий символ, з якого і відбудеться обмаль, і безпосередньо довжина - число символів, які слід вважати, починаючи зі стартової позиції.
Структура запиту на мові SQL виглядає наступним чином : SUBSTRING( "деяка рядок", 1 3) Результатом виконання цього запиту з'явиться рядок "еко" - в SQL функція SUBSTRING визначає елементи, починаючи з нульового, яким, в даному прикладі, є буква "н". Варто відзначити, що при вказівці негативної довжини СУБД видасть помилку, а при виборі значення, що перевищує різницю між номером останнього символу і стартовим номером, результатом запиту буде ланцюжок символом від зазначеної позиції до кінця рядка.
Приклад
У мовах SQL SUBSTRING рідко використовують для виконання простих запитів - в основному функція застосовується як частина складного алгоритму. Тим не менш, існують і досить прості завдання з її участю. Так, наприклад, якщо потрібно створити категорію користувачів, аналогічну першій букві прізвища, то SUBSTRING дозволить обійтися без допоміжного розбиття рядка. SELECT Addres, SUBSTRING(LastName, 1 1) AS FirstChar FROM Clients Таким чином, можна створити спрощений телефонний довідник, де для отримання списку користувачів, чиї прізвища починаються на певну букву, буде достатньо зробити вибірку по полю FirstChar.
Більш реалістичним прикладом є створення готового скороченого варіанту імені користувача - тобто як результату запиту повинна повернутися прізвище з ініціалом клієнта. SELECT LastName & '' & SUBSTRING(FirstName, 1 1) & '.' AS Initial FROM Clients Варто відзначити, що SQL SUBSTRING однаково успішно працює з текстовими полями, так і з числовими.