Funkcija SUBSTRING u SQL upitima najčešće se koristi pri radu s tekstualnim podacima - odgovorna je za "obrezivanje" niza koji joj je proslijeđen.
Kao i kod većine programskih jezika,uključujući ORACLE i MS SQL, SUBSTRING uključuje tri parametra. Prvi argument funkcije je sam ulazni niz - možete ga ili eksplicitno napisati ili dobiti kao rezultat izvršavanja nekog upita. Nakon toga slijede dva numerička parametra - početni znak iz kojeg će se dogoditi trim i sama duljina - broj znakova koji se moraju pročitati, počevši od početnog položaja.
Struktura upita u SQL-u je sljedeća:
SUBSTRING ("neki niz", 1, 3)
Rezultat ovog upita bit ćeniz "eko" - U SQL-u funkcija SUBSTRING definira elemente koji počinju s nulom, što je u ovom primjeru slovo "n". Treba napomenuti da ako navedete negativnu duljinu, DBMS će generirati pogrešku, a ako odaberete vrijednost koja premašuje razliku između broja zadnjeg znaka i početnog broja, rezultat upita bit će niz znakova od navedenog položaja do kraja niza.
U SQL jezicima SUBSTRING se rijetko koristi zaizvršavanje jednostavnih upita - u osnovi se funkcija koristi kao dio složenog algoritma. Ipak, postoje sasvim jednostavni zadaci s njezinim sudjelovanjem. Tako, na primjer, ako trebate stvoriti korisničku kategoriju sličnu prvom slovu prezimena, SUBSTRING će vam omogućiti da to učinite bez razdvajanja pomoćne linije.
ODABERITE adrese, PODLOGA (Prezime, 1, 1) KAO FirstChar IZ Klijenata
Dakle, možete stvoriti pojednostavljenitelefonski imenik, gdje će se dobiti cjelokupni popis korisnika čija prezimena počinju određenim slovom, bit će dovoljno da odaberete polje FirstChar.
Realističniji primjer je stvaranje gotove skraćene verzije korisničkog imena - to jest, prezime s inicijalom klijenta treba vratiti kao rezultat upita.
ODABERI Prezime & "" & SUBSTRING (Ime, 1, 1) & "." KAO početni OD Klijenata
Vrijedno je napomenuti da SQL SUBSTRING jednako dobro radi s tekstualnim poljima i numeričkim poljima.