MySQL má TRIM()
funkce, která vám umožní odstranit úvodní a/nebo koncové mezery z řetězce.
Můžete jej také použít k odstranění dalších specifikovaných znaků z obou stran (nebo obou stran) řetězce.
Tento článek vysvětluje, jak odstranit zadané úvodní/koncové znaky z řetězce.
Syntaxe
TRIM()
funkci lze použít takto:
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)
Nebo takto:
TRIM([remstr FROM] str)
To v podstatě znamená, že můžete odstranit mezery nebo jakýkoli jiný určený znak ze začátku řetězce, konce řetězce nebo z obou stran řetězce.
Můžete tedy zadat BOTH
pro oříznutí znaků z obou konců řetězce, nebo můžete použít LEADING
pro oříznutí pouze specifikovaných znaků na začátku řetězce. Podobně můžete použít TRAILING
k odstranění pouze těchto znaků z konce řetězce.
remstr
část je místo, kde zadáváte znak, který se má oříznout, a str
část je skutečný řetězec, který je třeba oříznout.
Příklad
Zde je základní příklad odstranění daného znaku z obou stran řetězce:
SELECT TRIM('=' FROM '=FRESH COOKIES!=') AS Trimmed;
Výsledek:
+----------------+ | Trimmed | +----------------+ | FRESH COOKIES! | +----------------+
Řetězec je tedy zbaven zadaného znaku na obou stranách řetězce.
Více instancí zadaného znaku
Odstraní více výskytů daného znaku (pokud je v souvislé skupině stejných úvodních/koncových znaků):
SELECT TRIM('=' FROM '====FRESH COOKIES!====') AS Trimmed;
Výsledek:
+----------------+ | Trimmed | +----------------+ | FRESH COOKIES! | +----------------+
Odstranit pouze úvodní znaky
Můžete určit, že budou oříznuty pouze úvodní znaky. K tomu použijte LEADING
specifikátor:
SELECT TRIM(LEADING '=' FROM '====FRESH COOKIES!====') AS Trimmed;
Výsledek:
+--------------------+ | Trimmed | +--------------------+ | FRESH COOKIES!==== | +--------------------+
Odstranit pouze znaky na konci
Můžete určit, že budou oříznuty pouze koncové znaky. K tomu použijte TRAILING
specifikátor:
SELECT TRIM(TRAILING '=' FROM '====FRESH COOKIES!====') AS Trimmed;
Výsledek:
+--------------------+ | Trimmed | +--------------------+ | ====FRESH COOKIES! | +--------------------+
Odstranění řady znaků
Můžete také určit, že se ořízne pouze určitá řada znaků:
SELECT TRIM(BOTH '!====' FROM '====FRESH COOKIES!====') AS Trimmed;
Výsledek:
+-------------------+ | Trimmed | +-------------------+ | ====FRESH COOKIES | +-------------------+
Možná jste si všimli, že jsem použil BOTH
klíčové slovo v tomto příkladu. Toto je nepovinné. Stejný příkaz by mohl být přepsán bez něj:
SELECT TRIM('!====' FROM '====FRESH COOKIES!====') AS Trimmed;
Výsledek:
+-------------------+ | Trimmed | +-------------------+ | ====FRESH COOKIES | +-------------------+
Další použití TRIM()
Můžete také použít TRIM()
k odstranění mezery na konci, k odstranění mezery na začátku nebo k odstranění mezer na začátku i na konci.