I MySQL er SUBSTRING()
funktionen giver dig mulighed for at returnere en understreng fra en streng. Så du kan bruge denne funktion til at få fat i en del af teksten fra et større stykke tekst.
Der er flere forskellige måder at bruge SUBSTRING()
på funktion, og dette påvirker syntaksen.
Eksempel 1 – Grundlæggende brug
Den mest basale brug går sådan her:
SUBSTRING(str,pos)
I dette tilfælde str
er strengen og pos
er positionen at starte understrengen fra.
Her er et eksempel på denne grundlæggende syntaks:
SELECT SUBSTRING('Cats and dogs', 6);
Resultat:
and dogs
I dette eksempel tager vi en understreng fra strengen Cats and dogs
, startende ved position 6.
Eksempel 2 – Brug af FROM-klausulen
En anden måde at gøre det på:
SUBSTRING(str FROM pos)
I dette tilfælde FROM
er standard SQL. Bemærk, at denne syntaks ikke bruger kommaer.
Her er det samme eksempel som det forrige, undtagen her har vi ændret det til at bruge FROM
syntaks:
SELECT SUBSTRING('Cats and dogs' FROM 6);
Resultat:
and dogs
Så vi får det samme resultat.
Eksempel 3 – Tilføj en længde for understrengen
Du kan også tilføje en længde:
SUBSTRING(str,pos,len)
Her len
er længden af den understreng, der skal returneres. Dette gør det muligt for os at returnere en understreng med en specificeret længde.
Her er et eksempel på at gøre det:
SELECT SUBSTRING('Cats and dogs', 6, 3);
Resultat:
and
Så i dette tilfælde vælger vi kun at returnere 3 tegn fra startpositionen.
Eksempel 4 – Brug af FOR
Til sidst, når du bruger FROM
, kan du også tilføje FOR
for at angive længden.
SUBSTRING(str FROM pos FOR len)
Og her er det samme eksempel som tidligere, undtagen her bruger vi FROM
klausul samt FOR
:
SELECT SUBSTRING('Cats and dogs' FROM 6 FOR 3);
Resultat:
and
Så som med det foregående eksempel, vælger dette 3 tegn fra startpositionen.
Eksempel 5 – Tæller baglæns
Du kan også bruge en negativ værdi for startpositionen. I dette tilfælde tages positionen ved at tælle baglæns fra enden af strengen:
SELECT SUBSTRING('Cats and dogs', -6);
Resultat:
d dogs
Eksempel 6 – SUBSTR()-funktionen
Du kan også bruge SUBSTR()
som er et synonym for SUBSTRING()
. Så et hvilket som helst af de foregående eksempler kunne omskrives ved hjælp af SUBSTR()
i stedet.
Eksempel:
SELECT SUBSTR('Cats and dogs', 6);
Resultat:
and dogs
Eksempel 7 – MID()-funktionen
Og der er endnu et synonym for SUBSTRING()
– MID()
fungere. Så et hvilket som helst af de foregående eksempler kunne omskrives ved hjælp af MID()
i stedet.
Eksempel:
SELECT MID('Cats and dogs', 6);
Resultat:
and dogs