MySQL/MariaDB Как удалить пробелы в строке - Функция TRIM

MySQL/MariaDB Как удалить пробелы в строке - Функция TRIM

Коллеги всем привет.

В сегодняшней статье мы поговорим о том как можно удалять пробелы в начале и конце строки при выполнении запросов до базы данных MySQL и MariaDB.

Когда пользователь заполняет какую либо форму на вашем сайте и потом эту форму отправляет, то он может случайно где-то указать лишние пробелы, либо специально это сделать. Задача разработчика отслеживать такие вещи и на уровне языка программирования, убирать эти пробелы в строках перед тем как отправить данные в базу данных. Но может случиться так что разработчик забудет либо не захочет тратить лишнее время на проверку таких мелочей и пропустит данные у которых есть пробелы в начале либо в конце строки, и потом на этапе вставки этих данных в базу данных могут возникнуть проблемы.

Если вы или разработчик не в курсе как реализовать удаления лишних пробелов в строках на уровне языка программирования, то на помощь нам могут прийти три функции которые есть в базе данных MySQL или MariaDB. Функции называются RTRIM(), TRIM() и LTRIM(), они прекрасно справляются с такими задачи. Мы их рассмотрим все по очереди.

 

Функция RTRIM().

Синтаксис функции:

RTRIM(string);

Функция в качестве параметра принимает строку и возвращает строку без пробелов в конце строки.

 

Функция RTRIM() используется, для того чтобы удалить все пробелы в конце строки.

sql> SELECT RTRIM('Hellow World      ') as rtrim_function;

mysql mariadb function trim

Как видим в примере я добавил в конец строки очень много пробелов, и в результате функция RTRIM() нам эти пробелы удалила.


 

Функция LTRIM().

Синтаксис функции:

LTRIM(string);

Функция в качестве параметра принимает строку и возвращает строку без пробелов в начале строки.

 

Функция LTRIM() используется, для того чтобы удалить все пробелы в начале строки.

sql> SELECT LTRIM('      Hellow World') as ltrim_function;

mysql mariadb function trim

Как видим в этом примере я добавил в начало строки много пробелов, и в результате функция LTRIM() нам эти пробелы успешно удалила.


 

Функция TRIM().

Синтаксис функции:

TRIM([{BOTH|LEADING|TRAILING} [removed_string]] FROM string);

  • LEADING - Удаляет символ из начала строки.
  • BOTH - Удаляет символ из начала и конца строки.
  • TRAILING - Удаляет символ из конца строки.

BOTH - является параметром по умолчанию. Если в функцию никаких параметров не передать, то функция по умолчанию будет удалять только пробелы из начала и конца строки.

Эта функция универсальная, она может удалять не только проблемы из строки, но и символы которые нам не нужны.

 

В первом примере мы хотим чтобы функция удалила нам лишние пробелы в начале и конце строки.

sql> SELECT TRIM('           Hellow World              ') as trim_function;

mysql mariadb function trim

Результат отличный! Пробелов нет!

 

Следующим примером я хочу чтобы из начала строки Hellow World функция удалил символ H.

sql> SELECT TRIM(LEADING 'H' FROM 'Hellow World');

mysql mariadb function trim

Как видим в результате символа H не стало.

 

Следующим примером я хочу чтобы из конца строки Hellow функция удалил символ w.

sql> SELECT TRIM(TRAILING 'w' FROM 'Hellow');

mysql mariadb function trim


 

Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.

 

ПОХОЖИЕ СТАТЬИ

MySQL - Генерация тестовых данных
MySQL - Генерация тестовых данных
MYSQL
Читать далее
MySQL / MariaDB Как получить id последней вставленной записи в таблице - LAST_INSERT_ID
MySQL / MariaDB Как получить id последней вставленной записи в таблице - LAST_INSERT_ID
MYSQL
Читать далее
MySQL / MariaDB Как преобразовать регистр символов - Функции UPPER и LOWER
MySQL / MariaDB Как преобразовать регистр символов - Функции UPPER и LOWER
MYSQL
Читать далее