Self-Learning – видеокурсы и книги по IT

Приветствую всех посетителей сайта Self-Learning.ru! Сегодня мы с Вами поговорим о строковых функциях языка T-SQL, в частности о TRIM, LTRIM и RTRIM, Вы узнаете, как работают эти функции и чем они отличаются друг от друга, кроме этого мы разберём несколько примеров их использования.

Функции TRIM, LTRIM и RTRIM в T-SQL

Строковые функции в Microsoft SQL Server

Строковые функции – это функции языка T-SQL, предназначенные для работы со строками, иными словами, с текстовыми значениями в столбцах, т.е. эти функции выполняют различные операции над текстом.

В Microsoft SQL Server существует достаточно много строковых функций, которые выполняют различные операции над текстом, например:

  • LOWER – функция возвращает строку, в которой все символы верхнего регистра преобразованы в символы нижнего регистра;
  • UPPER – функция возвращает строку, в которой все символы нижнего регистра преобразованы в символы верхнего регистра;
  • LEN – функция возвращает количество символов указанного строкового выражения, исключая конечные пробелы;
  • LEFT – функция возвращает указанное число символов символьного выражения слева;
  • RIGHT – функция возвращает указанное число символов символьного выражения справа;
  • SUBSTRING – функция возвращает часть строки, начиная с указанной позиции и определенное количество символов;
  • REPLACE – заменяет все вхождения указанного строкового значения другим строковым значением;
  • И другие.

Сегодня, как было уже отмечено, мы подробно рассмотрим функции: TRIM, LTRIM и RTRIM.

Про остальные функции языка T-SQL мы поговорим в следующих материалах, поэтому следите за выходом новых статей в наших группах в социальных сетях. Подписывайтесь и Вы не пропустите публикацию новой интересной статьи.

Группа ВКонтакте Группа Facebook Анонсы в Twitter Группа в Одноклассниках Анонсы в Instagram

Исходные данные для примеров

Чтобы наглядно было видно, как работают функции TRIM, LTRIM и RTRIM, давайте сначала создадим подходящие тестовые данные, которые мы будем использовать во всех примерах этой статьи.

Допустим, у нас будет таблица Goods, в которой два столбца: первый — ProductId с целочисленным типом данных, а второй — ProductName с текстовым типом данных, и этот столбец у нас будет содержать текст с пробелами, как в начале, так и в конце.

--Создание таблицы
CREATE TABLE Goods (
	ProductId INT IDENTITY(1,1) NOT NULL,
	ProductName VARCHAR(100) NULL
);

--Добавление данных в таблицу
INSERT INTO Goods(ProductName)
	VALUES ('Системный блок'), -- Без пробелов
		   (' Клавиатура'),    -- Пробел в начале
		   ('Монитор '),       -- Пробел в конце
		   (' Планшет ');      -- Пробел и в начале, и в конце

SELECT ProductId, ProductName
FROM Goods;

Скриншот 1

Заметка! Если Вы не знаете, что делает вышеуказанная инструкция, рекомендую пройти онлайн-курс «T-SQL. Путь программиста от новичка к профессионалу. Уровень 1 – Новичок», который предназначен для начинающих и на нем подробно рассмотрены все базовые конструкции языка T-SQL.

Функция LTRIM в T-SQL

LTRIM – функция T-SQL, которая возвращает символьное выражение после удаления пробелов в начале строки. У функции один параметр, в котором мы указываем текстовую строку данных.

Синтаксис

LTRIM (текст);

В функцию можно передать текстовую строку как в виде константной строки, так и в виде столбца таблицы или переменной.

Параметр, который передается в функцию, обязательно должен иметь текстовый тип данных, или тип, который может быть неявно преобразован в тип VARCHAR.

Возвращает функция результат с типом данных VARCHAR или NVARCHAR.

Давайте посмотрим на работу данной функции.

SELECT ProductName AS [Исходное значение], 
       LTRIM(ProductName) AS [LTRIM]
FROM Goods;

Скриншот 2

Мы видим, что функция LTRIM удалила все пробелы слева, т.е. в начале строки.

Функция RTRIM в T-SQL

RTRIM – функция T-SQL, которая возвращает символьное выражение после удаления пробелов в конце строки. В качестве входящих данных RTRIM также принимает один параметр, т.е. непосредственно саму текстовую строку. Параметр должен иметь текстовый тип данных, или тип, который может быть неявно преобразован в тип VARCHAR.

Синтаксис

RTRIM (текст);

В эту функцию также можно передать текстовую строку как в виде константной строки, так и в виде столбца таблицы или переменной.

Функция возвращает результат с типом данных VARCHAR или NVARCHAR.

Пример работы данной функции.

SELECT ProductName AS [Исходное значение], 
       RTRIM(ProductName) AS [RTRIM]
FROM Goods;

Скриншот 3

В данном случае работа функции RTRIM не так заметна, как в случае с LTRIM, но пробелы справа были удалены.

Функция TRIM в T-SQL

TRIM – функция T-SQL, которая возвращает символьное выражение после удаления пробелов как в начале, так и в конце строки. Если быть точнее, функция удаляет символ пробела в начале и в конце строки, однако кроме этого она может удалять и другие символы, которые Вы укажете.

Данная функция появилась только в Microsoft SQL Server 2017, до этой версии, в случае если необходимо удалить пробелы и в начале, и в конце строки, то нужно использовать сочетание функций LTRIM и RTRIM, иными словами, работа функции TRIM эквивалента выражению

LTRIM(RTRIM(‘Текстовая строка’));

Синтаксис
TRIM ( [ characters FROM ] string );
Где,

  • Characters – литеральная строка, содержащая символ или символы, которые необходимо удалить. Если не указан этот параметр, по умолчанию будут удаляться пробелы;
  • String – символьное выражение, из которого следует удалить символы.

Тип данных результата, который возвращает функция TRIM, будет иметь тип данных параметра string.

Пример удаления пробелов с помощью TRIM

SELECT ProductName AS [Исходное значение], 
       TRIM(ProductName) AS [TRIM]
FROM Goods;

Скриншот 4

В этом примере мы удаляем пробелы как в начале, так и в конце значений столбца ProductName. Функция успешно отработала.

Пример удаления указанных символов с помощью TRIM

В данном случае давайте вместо пробелов удалим другие символы из строки, используя при этом все ту же функцию TRIM, например, просто окончание одного из текстовых значений, допустим «ок» у значения «Системный блок».

Для этого в функцию TRIM мы передадим в качестве параметра символы, которые необходимо удалить, укажем ключевое слово FROM, а после передадим столбец, содержащий текстовые данные.

SELECT ProductName AS [Исходное значение], 
       TRIM('ок' FROM ProductName) AS [TRIM_FROM] 
FROM Goods;

Скриншот 5

Мы видим, что окончание «ок» у значения «Системный блок» нет, это говорит о том, что функция TRIM отработала корректно, подтверждая тот факт, что она умеет удалять и другие символы из строки, отличные от пробелов.

Совет эксперта
Виталий Трунин
Основатель проекта Self-Learning.ru. Программист T-SQL.
Задать вопрос
Для комплексного изучения языка T-SQL, рекомендую пройти онлайн-курсы по T-SQL, на которых используется последовательная методика обучения и рассматриваются все конструкции языка T-SQL.

Видео материал

На сегодня это все, надеюсь, материал был Вам интересен и полезен, пока!

Теги: #
Понравилась статья? Поделитесь с друзьями:
Share on VK
VK
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Share on Tumblr
Tumblr
Share on Reddit
Reddit
Email this to someone
email

Авторские онлайн-курсы по T-SQL

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Пролистать наверх