MySQL har en TRIM()
funktion som gör att du kan ta bort inledande och/eller efterföljande blanksteg från en sträng.
Du kan också använda den för att ta bort andra specificerade tecken från båda sidor (eller båda sidor) av strängen.
Den här artikeln förklarar hur du tar bort angivna inledande/efterföljande tecken från strängen.
Syntax
TRIM()
funktionen kan användas så här:
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)
Eller så här:
TRIM([remstr FROM] str)
Vad detta i praktiken betyder är att du kan ta bort blanksteg, eller något annat specificerat tecken, från antingen början av strängen, slutet av strängen eller från båda sidor av strängen.
Så du kan ange BOTH
för att trimma tecken från båda ändarna av strängen, eller så kan du använda LEADING
för att bara trimma de specificerade tecknen i början av strängen. På samma sätt kan du använda TRAILING
för att ta bort endast dessa tecken från slutet av strängen.
remstr
del är där du anger tecknet som ska trimmas och str
del är själva strängen som behöver trimmas.
Exempel
Här är ett grundläggande exempel på hur du tar bort ett givet tecken från båda sidor av en sträng:
SELECT TRIM('=' FROM '=FRESH COOKIES!=') AS Trimmed;
Resultat:
+----------------+ | Trimmed | +----------------+ | FRESH COOKIES! | +----------------+
Så strängen tas bort från det angivna tecknet på båda sidor av strängen.
Flera instanser av det angivna tecknet
Det kommer att ta bort flera instanser av det givna tecknet (så länge det är inom en sammanhängande grupp av samma inledande/efterföljande tecken):
SELECT TRIM('=' FROM '====FRESH COOKIES!====') AS Trimmed;
Resultat:
+----------------+ | Trimmed | +----------------+ | FRESH COOKIES! | +----------------+
Ta endast bort ledande karaktärer
Du kan ange att endast inledande tecken beskärs. För att göra detta, använd LEADING
specificator:
SELECT TRIM(LEADING '=' FROM '====FRESH COOKIES!====') AS Trimmed;
Resultat:
+--------------------+ | Trimmed | +--------------------+ | FRESH COOKIES!==== | +--------------------+
Ta endast bort efterföljande tecken
Du kan ange att endast efterföljande tecken beskärs. För att göra detta, använd TRAILING
specificator:
SELECT TRIM(TRAILING '=' FROM '====FRESH COOKIES!====') AS Trimmed;
Resultat:
+--------------------+ | Trimmed | +--------------------+ | ====FRESH COOKIES! | +--------------------+
Ta bort en serie tecken
Du kan också ange att endast en specifik serie tecken beskärs:
SELECT TRIM(BOTH '!====' FROM '====FRESH COOKIES!====') AS Trimmed;
Resultat:
+-------------------+ | Trimmed | +-------------------+ | ====FRESH COOKIES | +-------------------+
Du kanske märker att jag använde BOTH
nyckelord i detta exempel. Detta är valfritt. Samma uttalande skulle kunna skrivas om utan det:
SELECT TRIM('!====' FROM '====FRESH COOKIES!====') AS Trimmed;
Resultat:
+-------------------+ | Trimmed | +-------------------+ | ====FRESH COOKIES | +-------------------+
Annan användning av TRIM()
Du kan också använda TRIM()
för att ta bort efterföljande blanksteg, för att ta bort inledande blanksteg eller för att ta bort både inledande och efterföljande blanksteg.