SUBSTRING-funktionen i SQL-forespørgsler bruges oftest, når man arbejder med tekstdata - det er ansvarlig for at "trimme" strengen sendt til den.
Som i de fleste programmeringssprog,herunder ORACLE og MS SQL, SUBSTRING indeholder tre parametre. Funktionens første argument er selve indtastningsstrengen - du kan enten udtrykkeligt registrere det eller få det som et resultat af at udføre en bestemt forespørgsel. Så er der to numeriske parametre - startsymbolet, hvorfra afskæringen vil forekomme, og selve længden - antallet af tegn, der skal læses, startende fra startpositionen.
Strukturen af forespørgslen i SQL er som følger:
SUBSTRING ("nogle streng", 1, 3)
Resultatet af denne forespørgsel vil værestreng "eco" - i SQL-funktionen SUBSTRING definerer elementerne, begyndende med nulet, som i dette eksempel er bogstavet "n". Det skal bemærkes, at når der angives længden af den negative database vil returnere en fejl, og for at udvælge en værdi større end forskellen mellem det sidste symbol nummer og et startnummer, vil forespørgslen resultatet være en streng af tegn fra en angivet position til slutningen af linjen.
I SQL bruges SUBSTRING sjældent tiludførelse af enkle forespørgsler - i princippet anvendes funktionen som en del af en kompleks algoritme. Ikke desto mindre er der også ret enkle problemer med dets deltagelse. Så hvis du f.eks. Vil oprette en brugergruppe, der ligner det første bogstav i deres efternavn, vil SUBSTRING uden en hjælpestørrelse af strengen.
SELECT Addres, SUBSTRING (LastName, 1, 1) AS FirstChar FROM Clients
Således kan du oprette en forenklettelefonbog hvor du kan få hele listen over brugere, hvis navne begynder med et bestemt bogstav, er det nok at vælge feltet FirstChar.
Et mere realistisk eksempel er oprettelsen af en færdig forkortet version af brugernavnet - det vil sige navnet med klientens oprindelige navn skal returnere som følge af anmodningen.
VÆLG LastName & "" & SUBSTRING (Fornavn, 1, 1) & "." Som oprindeligt fra klienter
Det skal bemærkes, at SQL SUBSTRING fungerer lige så godt med både tekstfelter og numeriske.
</ p>