Проблем:
Искате да премахнете интервали или конкретни знаци от началото и края на низ в SQLite.
Пример:
Нашата база данни има таблица с име category
с данни в две колони:id
и name
.
id | име |
---|---|
1 | 'сладки' |
2 | 'месо' |
3 | „зеленчуци“ |
Нека отрежем името на всяка категория продукти, за да премахнем ненужното място в началото и в края.
Решение:
Ще използваме TRIM
функция. Ето заявката, която бихте написали:
SELECT TRIM(' ', name) AS new_name FROM category;
Имайте предвид, че символът за премахване не е задължителен; можете просто да посочите името на колоната, ако искате да премахнете интервала:
SELECT TRIM(name) AS new_name FROM category;
Ето резултата и от двете заявки:
ново_име |
---|
'сладкиши' |
'месо' |
'зеленчуци' |
Дискусия:
Използвайте TRIM
функция в база данни на SQLite, ако искате да отрежете низ в таблица. Тази функция ви позволява да премахнете конкретен знак от началото и/или края на низ. Той приема следните аргументи:
- Символът, който искате да отрежете от низа, който по подразбиране е интервал.
- Името на колоната на низа, която ще бъде изрязана.
В нашия пример това изглежда така:
TRIM(' ' , name)
SQLite също ни позволява да премахваме интервал или други знаци само от началото или края на низ.
Примерът по-долу премахва интервала от края на всяко име на категория с помощта на RTRIM()
функция:
SELECT RTRIM(name) AS new_name FROM company;
ново_име |
---|
'сладкиши' |
'месо' |
„зеленчуци“ |
Като TRIM()
, RTRIM()
функцията приема два аргумента:знаците за премахване и низа, който трябва да бъде изрязан. Отново можете просто да посочите името на колоната, ако символът за изрязване е интервал.
Ако искате да премахнете знаци от началото на низ, но не и от края, използвайте LTRIM()
функция:
SELECT LTRIM(name) AS new_name FROM company;
Разбира се, можете да използвате тази функция с два аргумента:знаците, които да премахнете, и низът, който трябва да бъде изрязан.
Заявката по-горе връща колоната с име без интервал в началото:
ново_име |
---|
'сладкиши' |
'месо' |
'зеленчуци' |