MySQL има TRIM()
функция, която ви позволява да премахвате начални и/или крайни празни интервали от низ.
Можете също да го използвате, за да премахнете други посочени символи от двете страни (или от двете страни) на низа.
Тази статия обяснява как да премахнете определени водещи/завършващи знаци от низа.
Синтаксис
TRIM()
функцията може да се използва по следния начин:
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)
Или така:
TRIM([remstr FROM] str)
Това ефективно означава, че можете да премахнете празно пространство или всеки друг посочен знак от началото на низа, края на низа или от двете страни на низа.
Така че можете да посочите BOTH
за да отрежете знаци от двата края на низа, или можете да използвате LEADING
за да отрежете само посочените знаци в началото на низа. По същия начин можете да използвате TRAILING
за да премахнете само тези знаци от края на низа.
remstr
част е мястото, където задавате символа за отрязване и str
част е действителният низ, който се нуждае от подрязване.
Пример
Ето основен пример за премахване на даден знак от двете страни на низ:
SELECT TRIM('=' FROM '=FRESH COOKIES!=') AS Trimmed;
Резултат:
+----------------+ | Trimmed | +----------------+ | FRESH COOKIES! | +----------------+
Така низът е лишен от посочения знак от двете страни на низа.
Множество екземпляра на посочения знак
Той ще премахне множество екземпляри на дадения знак (стига да е в последователна група от същите начални/завършващи знаци):
SELECT TRIM('=' FROM '====FRESH COOKIES!====') AS Trimmed;
Резултат:
+----------------+ | Trimmed | +----------------+ | FRESH COOKIES! | +----------------+
Премахване само на водещите знаци
Можете да посочите, че само водещите знаци се подрязват. За да направите това, използвайте LEADING
спецификатор:
SELECT TRIM(LEADING '=' FROM '====FRESH COOKIES!====') AS Trimmed;
Резултат:
+--------------------+ | Trimmed | +--------------------+ | FRESH COOKIES!==== | +--------------------+
Премахване само на знаци в края
Можете да посочите, че само завършващите знаци се подрязват. За да направите това, използвайте TRAILING
спецификатор:
SELECT TRIM(TRAILING '=' FROM '====FRESH COOKIES!====') AS Trimmed;
Резултат:
+--------------------+ | Trimmed | +--------------------+ | ====FRESH COOKIES! | +--------------------+
Премахване на поредица от знаци
Можете също така да посочите, че само определена серия от знаци се изрязва:
SELECT TRIM(BOTH '!====' FROM '====FRESH COOKIES!====') AS Trimmed;
Резултат:
+-------------------+ | Trimmed | +-------------------+ | ====FRESH COOKIES | +-------------------+
Може да забележите, че използвах BOTH
ключова дума в този пример. Това е по избор. Същото изявление може да бъде пренаписано без него:
SELECT TRIM('!====' FROM '====FRESH COOKIES!====') AS Trimmed;
Резултат:
+-------------------+ | Trimmed | +-------------------+ | ====FRESH COOKIES | +-------------------+
Други употреби на TRIM()
Можете също да използвате TRIM()
за премахване на крайно пространство, за премахване на водещо пространство или за премахване както на начално, така и на крайно бяло пространство.