In MySQL is de TRIM()
functie trimt witruimte (of andere gespecificeerde tekens) vanaf het begin en/of einde van een string.
U kunt aangeven of u vanaf de linkerkant, de rechterkant of beide zijden van de string wilt trimmen.
Syntaxis
De functie kan op een van de volgende manieren worden gebruikt:
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) TRIM([remstr FROM] str)
Waar str
is de tekenreeks die moet worden bijgesneden, en remstr
is een optioneel argument dat aangeeft welk teken moet worden bijgesneden.
Voorbeeld 1 – Basisgebruik
Hier is een eenvoudig voorbeeld van het verwijderen van witruimte aan beide zijden van een tekenreeks:
SELECT TRIM(' Irish Wolfhound ') AS Trimmed;
Resultaat:
+-----------------+ | Trimmed | +-----------------+ | Irish Wolfhound | +-----------------+
Zowel de voorloop- als de volgspatie wordt verwijderd. Merk op dat elke spatie binnen de string intact blijft.
Om het effect beter te demonstreren, ziet het er als volgt uit in vergelijking met de niet-getrimde snaar:
SELECT ' Irish Wolfhound ' AS Untrimmed, TRIM(' Irish Wolfhound ') AS Trimmed;
Resultaat:
+-------------------+-----------------+ | Untrimmed | Trimmed | +-------------------+-----------------+ | Irish Wolfhound | Irish Wolfhound | +-------------------+-----------------+
Als je goed kijkt, zie je dat het eerste resultaat aan beide zijden extra ruimte heeft en het tweede niet. Dit wordt nog duidelijker aangetoond in het volgende voorbeeld.
Meerdere ruimtes
Als je meerdere spaties hebt, worden ze allemaal bijgesneden:
SELECT ' Irish Wolfhound ' AS Untrimmed, TRIM(' Irish Wolfhound ') AS Trimmed;
Resultaat:
+-------------------------+-----------------+ | Untrimmed | Trimmed | +-------------------------+-----------------+ | Irish Wolfhound | Irish Wolfhound | +-------------------------+-----------------+
Andere karakters
U bent niet alleen beperkt tot het inkorten van witruimte. U kunt deze functie gebruiken om andere tekens in te korten. Hier is een voorbeeld:
SELECT TRIM('=' FROM '====Irish Wolfhound====') AS Trimmed;
Resultaat:
+-----------------+ | Trimmed | +-----------------+ | Irish Wolfhound | +-----------------+
Je kunt ook meerdere karakters specificeren, maar houd er rekening mee dat de volgorde belangrijk is.
SELECT TRIM('=+' FROM '=+Irish Wolfhound+=') AS Trimmed;
Resultaat:
+-------------------+ | Trimmed | +-------------------+ | Irish Wolfhound+= | +-------------------+
U kunt dus desgewenst een heel woord inkorten:
SELECT TRIM('Irish ' FROM 'Irish Wolfhound') AS Trimmed;
Resultaat:
+-----------+ | Trimmed | +-----------+ | Wolfhound | +-----------+
Snel hoofdpersonage
U kunt ook aangeven of u alleen de voorloopspatie/tekens, de naloop of beide wilt bijsnijden.
Hier is een voorbeeld van het bijsnijden van alleen het hoofdpersonage:
SELECT TRIM(LEADING '=' FROM '====Irish Wolfhound====') AS Trimmed;
Resultaat:
+---------------------+ | Trimmed | +---------------------+ | Irish Wolfhound==== | +---------------------+
Trim trailing karakter
Alleen het achterliggende teken bijsnijden:
SELECT TRIM(TRAILING '=' FROM '====Irish Wolfhound====') AS Trimmed;
Resultaat:
+---------------------+ | Trimmed | +---------------------+ | ====Irish Wolfhound | +---------------------+
Trim zowel voor als achter
Zoals te zien is in de eerdere voorbeelden, is de TRIM()
functie trimt standaard beide zijden. U heeft echter ook de mogelijkheid om dit expliciet te vermelden door BOTH
. te gebruiken .
SELECT TRIM(BOTH '=' FROM '====Irish Wolfhound====') AS Trimmed;
Resultaat:
+-----------------+ | Trimmed | +-----------------+ | Irish Wolfhound | +-----------------+
Vergelijkbare functies
Als u alleen de voorloopspatie hoeft in te korten, overweeg dan om LTRIM()
. te gebruiken . Als u alleen achterliggende spatie hoeft te trimmen, overweeg dan om RTRIM()
. te gebruiken .