Проблем:
Искате да премахнете интервали или конкретни знаци от началото и края на низ.
Пример:
Нашата база данни има таблица с име 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 колона без интервал в края. Забележете, че интервалите в началото са оставени недокоснати.
| ново_име |
|---|
| „Супер пазар“ |
| „Зелен магазин“ |
| „Модерна книжарница“ |