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