W MySQL funkcja TRIM()
funkcja przycina białe znaki (lub inne określone znaki) z początku i/lub końca ciągu.
Możesz określić, czy chcesz przyciąć lewą stronę, prawą czy obie strony łańcucha.
Składnia
Funkcji można używać na jeden z następujących sposobów:
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) TRIM([remstr FROM] str)
Gdzie str
jest ciągiem do przycięcia, a remstr
jest opcjonalnym argumentem, który określa, który znak należy przyciąć.
Przykład 1 – Podstawowe użycie
Oto podstawowy przykład usuwania białych znaków z obu stron ciągu:
SELECT TRIM(' Irish Wolfhound ') AS Trimmed;
Wynik:
+-----------------+ | Trimmed | +-----------------+ | Irish Wolfhound | +-----------------+
Zarówno spacja wiodąca, jak i końcowa są usuwane. Pamiętaj, że wszelkie spacje w ciągu pozostają nienaruszone.
Aby lepiej zademonstrować efekt, oto jak wygląda w porównaniu z nieobciętym ciągiem:
SELECT ' Irish Wolfhound ' AS Untrimmed, TRIM(' Irish Wolfhound ') AS Trimmed;
Wynik:
+-------------------+-----------------+ | Untrimmed | Trimmed | +-------------------+-----------------+ | Irish Wolfhound | Irish Wolfhound | +-------------------+-----------------+
Jeśli przyjrzysz się uważnie, zobaczysz, że pierwszy wynik ma dodatkową przestrzeń po obu stronach, a drugi nie. Jest to jeszcze wyraźniej pokazane w następnym przykładzie.
Wiele spacji
Jeśli masz wiele spacji, wszystkie zostaną przycięte:
SELECT ' Irish Wolfhound ' AS Untrimmed, TRIM(' Irish Wolfhound ') AS Trimmed;
Wynik:
+-------------------------+-----------------+ | Untrimmed | Trimmed | +-------------------------+-----------------+ | Irish Wolfhound | Irish Wolfhound | +-------------------------+-----------------+
Inne postacie
Nie ograniczasz się tylko do przycinania białych znaków. Możesz użyć tej funkcji do przycięcia innych znaków. Oto przykład:
SELECT TRIM('=' FROM '====Irish Wolfhound====') AS Trimmed;
Wynik:
+-----------------+ | Trimmed | +-----------------+ | Irish Wolfhound | +-----------------+
Możesz także podać wiele znaków, ale pamiętaj, że kolejność jest ważna.
SELECT TRIM('=+' FROM '=+Irish Wolfhound+=') AS Trimmed;
Wynik:
+-------------------+ | Trimmed | +-------------------+ | Irish Wolfhound+= | +-------------------+
Możesz więc przyciąć całe słowo, jeśli chcesz:
SELECT TRIM('Irish ' FROM 'Irish Wolfhound') AS Trimmed;
Wynik:
+-----------+ | Trimmed | +-----------+ | Wolfhound | +-----------+
Przytnij główną postać
Możesz także określić, czy przyciąć tylko wiodącą spację/znaki, końcowe lub oba.
Oto przykład przycinania tylko głównego bohatera:
SELECT TRIM(LEADING '=' FROM '====Irish Wolfhound====') AS Trimmed;
Wynik:
+---------------------+ | Trimmed | +---------------------+ | Irish Wolfhound==== | +---------------------+
Przytnij znak końcowy
Przycinanie samego znaku końcowego:
SELECT TRIM(TRAILING '=' FROM '====Irish Wolfhound====') AS Trimmed;
Wynik:
+---------------------+ | Trimmed | +---------------------+ | ====Irish Wolfhound | +---------------------+
Przytnij zarówno początek, jak i koniec
Jak widać we wcześniejszych przykładach, TRIM()
funkcja domyślnie przycina obie strony. Możesz jednak również wyraźnie to stwierdzić, używając BOTH
.
SELECT TRIM(BOTH '=' FROM '====Irish Wolfhound====') AS Trimmed;
Wynik:
+-----------------+ | Trimmed | +-----------------+ | Irish Wolfhound | +-----------------+
Podobne funkcje
Jeśli potrzebujesz tylko przyciąć wiodącą spację, rozważ użycie LTRIM()
. Jeśli potrzebujesz tylko przyciąć końcową spację, rozważ użycie RTRIM()
.