I MySQL, SUBSTRING()
funktionen gör att du kan returnera en delsträng från en sträng. Så du kan använda den här funktionen för att ta en del av texten från en större textbit.
Det finns flera olika sätt att använda SUBSTRING()
funktion, och detta påverkar syntaxen.
Exempel 1 – Grundläggande användning
Den mest grundläggande användningen går till så här:
SUBSTRING(str,pos)
I det här fallet, str
är strängen och pos
är platsen att starta delsträngen från.
Här är ett exempel på denna grundläggande syntax:
SELECT SUBSTRING('Cats and dogs', 6);
Resultat:
and dogs
I det här exemplet tar vi en delsträng från strängen Cats and dogs
, med start på position 6.
Exempel 2 – Användning av FROM-klausulen
Ett annat sätt att göra det:
SUBSTRING(str FROM pos)
I det här fallet, FROM
är standard SQL. Observera att den här syntaxen inte använder kommatecken.
Här är samma exempel som det föregående, förutom här har vi ändrat det till att använda FROM
syntax:
SELECT SUBSTRING('Cats and dogs' FROM 6);
Resultat:
and dogs
Så vi får samma resultat.
Exempel 3 – Lägg till en längd för delsträngen
Du kan också lägga till en längd:
SUBSTRING(str,pos,len)
Här, len
är längden på delsträngen som ska returneras. Detta gör det möjligt för oss att returnera en delsträng med en specificerad längd.
Här är ett exempel på hur du gör det:
SELECT SUBSTRING('Cats and dogs', 6, 3);
Resultat:
and
Så i det här fallet väljer vi att endast returnera 3 tecken från startpositionen.
Exempel 4 – Använda FOR
Slutligen, när du använder FROM
, kan du också lägga till FOR
för att ange längden.
SUBSTRING(str FROM pos FOR len)
Och här är samma exempel som tidigare, förutom här använder vi FROM
klausul samt FOR
:
SELECT SUBSTRING('Cats and dogs' FROM 6 FOR 3);
Resultat:
and
Så som i det föregående exemplet väljer detta 3 tecken från startpositionen.
Exempel 5 – Räkna baklänges
Du kan också använda ett negativt värde för startpositionen. I detta fall tas positionen bakåt från slutet av strängen:
SELECT SUBSTRING('Cats and dogs', -6);
Resultat:
d dogs
Exempel 6 – SUBSTR()-funktionen
Du kan också använda SUBSTR()
vilket är en synonym för SUBSTRING()
. Så vilket som helst av de tidigare exemplen skulle kunna skrivas om med SUBSTR()
istället.
Exempel:
SELECT SUBSTR('Cats and dogs', 6);
Resultat:
and dogs
Exempel 7 – MID()-funktionen
Och det finns ännu en synonym till SUBSTRING()
– MID()
fungera. Så vilket som helst av de tidigare exemplen skulle kunna skrivas om med MID()
istället.
Exempel:
SELECT MID('Cats and dogs', 6);
Resultat:
and dogs