MySQL/MariaDB Як видалити пробіли в рядку - Функція TRIM
Колеги всім привіт.
У сьогоднішній статті ми поговоримо про те, як можна видаляти прогалини на початку та в кінці рядка при виконанні запитів до бази даних MySQL та MariaDB.
Коли користувач заповнює якусь форму на вашому сайті і потім цю форму відправляє, то він може випадково десь вказати зайві прогалини, або спеціально це зробити. Завдання розробника відстежувати такі речі і на рівні мови програмування, прибирати ці прогалини в рядках перед тим як відправити дані до бази даних. Але може статися так що розробник забуде або не захоче витрачати зайвий час на перевірку таких дрібниць і пропустить дані, які мають прогалини на початку або в кінці рядка, і потім на етапі вставки цих даних у базу даних можуть виникнути проблеми.
Якщо ви або розробник не в курсі як реалізувати видалення зайвих прогалин у рядках на рівні мови програмування, то на допомогу нам можуть прийти три функції які є в базі даних MySQL або MariaDB. Функції називаються RTRIM(), TRIM() і LTRIM(), вони чудово справляються з такими завданнями. Ми їх розглянемо по черзі.
Функція RTRIM().
Синтаксис функції:
RTRIM(string);
Функція як параметр приймає рядок і повертає рядок без пробілів наприкінці рядка.
Функція RTRIM() використовується для видалення всіх пропусків наприкінці рядка.
sql> SELECT RTRIM('Hellow World ') as rtrim_function;
Як бачимо в прикладі я додав в кінець рядка дуже багато прогалин, і в результаті функція RTRIM() нам ці прогалини видалила.
Функція LTRIM().
Синтаксис функції:
LTRIM(string);
Функція як параметр приймає рядок і повертає рядок без пробілів на початку строки.
Функція LTRIM() використовується, щоб видалити всі пробіли на початку рядка.
sql> SELECT LTRIM(' Hellow World') as ltrim_function;
Як бачимо в цьому прикладі я додав на початок рядка багато пробілів, і в результаті функція LTRIM() нам ці прогалини успішно видалила.
Функція TRIM().
Синтаксис функції:
TRIM([{BOTH|LEADING|TRAILING} [removed_string]] FROM string);
- LEADING - Видаляє символ з початку рядка.
- BOTH - Видаляє символ з початку та кінця рядка.
- TRAILING - видаляє символ з кінця рядка.
BOTH - це параметр за замовчуванням. Якщо в функцію жодних параметрів не передати, то функція за замовчуванням видалятиме лише пробіли з початку та кінця рядка.
Ця функція універсальна, вона може видаляти не тільки проблеми з рядка, а й символи, які нам не потрібні.
У першому прикладі ми хочемо, щоб функція видалила нам зайві прогалини на початку та в кінці рядка.
sql> SELECT TRIM(' Hellow World trim_function;
Результат чудовий! Прогалин немає!
Наступним прикладом я хочу, щоб з початку рядка Hellow World функція видалив символ H.
sql> SELECT TRIM(LEADING 'H' FROM 'Hellow World');
Як бачимо в результаті символу H не стало.
Наступним прикладом я хочу, щоб з кінця рядка Hellow функція видалив символ w.
sql> SELECT TRIM(TRAILING 'w' FROM 'Hellow');
Всім дякую, я сподіваюся, що вам моя стаття хоч чимось допомогла.