Функція 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 однаково успішно працює як з текстовими полями, так і з числовими.
</ P>