Funcția SUBSTRING din interogările SQL este folosită cel mai adesea atunci când se lucrează cu date text - este responsabilă pentru „tăierea” șirului transmis.
La fel ca în majoritatea limbajelor de programare,inclusiv ORACLE și MS SQL, SUBSTRING include trei parametri. Primul argument al funcției este șirul de intrare în sine - îl puteți scrie în mod explicit sau îl puteți obține ca urmare a executării unei interogări. Acesta este urmat de doi parametri numerici - caracterul de pornire, de la care va avea loc tăierea și lungimea în sine - numărul de caractere care trebuie citite, începând de la poziția de pornire.
Structura unei interogări în SQL este următoarea:
SUBSTRING („un șir”, 1, 3)
Rezultatul acestei interogări va fișir „eco” - În SQL, funcția SUBSTRING identifică elemente care încep cu zero, care, în acest exemplu, este litera „n”. Este demn de remarcat faptul că, dacă specificați o lungime negativă, SGBD va genera o eroare și, dacă selectați o valoare care depășește diferența dintre numărul ultimului caracter și numărul inițial, rezultatul interogării va fi un șir de caractere de la poziția specificată la sfârșitul șirului.
În limbajele SQL, SUBSTRING este rar folosit pentruexecutarea de interogări simple - practic funcția este utilizată ca parte a unui algoritm complex. Cu toate acestea, există sarcini destul de simple cu participarea ei. Deci, de exemplu, dacă trebuie să creați o categorie de utilizator similară cu prima literă a numelui de familie, atunci SUBSTRING vă va permite să faceți fără divizarea liniei auxiliare.
SELECT ADRES, SUBSTRING (LastName, 1, 1) AS FirstChar FROM Clienți
Astfel, puteți crea o versiune simplificatădirector telefonic, unde puteți obține întreaga listă de utilizatori ale căror nume de familie încep cu o anumită literă, va fi suficient să faceți o selecție prin câmpul FirstChar.
Un exemplu mai realist este crearea unei versiuni abreviate gata făcute a numelui utilizatorului - adică numele de familie cu inițialul clientului trebuie returnat ca rezultat al interogării.
SELECTAȚI Nume & "" & SUBSTRING (Prenume, 1, 1) & "." AS Initial FROM Clienți
Este demn de remarcat faptul că SQL SUBSTRING funcționează la fel de bine atât cu câmpurile de text, cât și cu câmpurile numerice.