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              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
Читати далі