Sql rtrim: Функции TRIM, LTRIM и RTRIM в T-SQL – описание, отличия и примеры | Info-Comp.ru

SQL-функции TRIM(), LTRIM(), RTRIM()

SQL-функции TRIM(), LTRIM(), RTRIM() обрезают символы строки.

Функция SQL TRIM()

Функция SQL TRIM() удаляет все указанные символы обрезки с начала и конца строки.

Поддерживаемая версия Oracle SQL

  • Oracle 8i
  • Оракул 9i
  • Оракул 10 г
  • Оракул 11g
  • Оракул 12с
  • Оракул 18c

Синтаксис

 ТРИМ(
    [
        [ ВЕДУЩИЙ | ТРЕЙЛИНГ | ОБА ]
        trim_character ОТ
    ] нить
) 

Параметры

  • НАЧАЛО удалить символ обрезки с начала строки.
  • TRAILING удалить символ обрезки в конце строки.
  • ОБА удалить символ обрезки как в начале, так и в конце строки.
  • trim_character указывает символ обрезки, который вы хотите удалить из строки. Если вы не укажете функцию TRIM, удалите пробелы из строки.
  • ОТ является ключевым словом.
  • строка исходная строка, которую мы хотим обрезать.

Пример

Рассмотрим следующий пример, как функция TRIM удаляет указанный символ.

 SQL> ВЫБЕРИТЕ ОТДЕЛКУ (НАЧАЛО 'N' ОТ 'NOpal Kole') "НАЧАЛО ОТДЕЛКИ" ИЗ ДВОЙНОГО;
ВЕДУЩАЯ ОТДЕЛКА
------------
   Опал Коле 

Функция SQL LTRIM()

Функция SQL LTRIM() удаляет все указанные символы обрезки с левой стороны строки.

Поддерживаемая версия Oracle SQL

  • Oracle 8i
  • Оракул 9i
  • Оракул 10 г
  • Оракул 11g
  • Оракул 12с
  • Оракул 18c

Синтаксис

 LTRIM(string, trim_char) 

Параметры

  • строка — это строка, которую вы хотите обрезать с левой стороны.
  • trim_char указан символ, который вы хотите удалить из строки.

Пример

Рассмотрим следующий пример удаления всех указанных символов обрезки с левой стороны заданного строкового аргумента.

 SQL> SELECT LTRIM('2254Opal Kole', '2254') "LTRIM" FROM DUAL;
LTRIM
---------
Opal Kole 

SQL RTRIM() Функция

Функция SQL RTRIM() удаляет все указанные символы обрезки с правой стороны строки.

Поддерживаемая версия Oracle SQL

  • Oracle 8i
  • Оракул 9i
  • Оракул 10 г
  • Оракул 11g
  • Оракул 12с
  • Оракул 18c

Синтаксис

 RTRIM(string, trim_char) 

Параметры

  • string — исходная строка.
  • trim_char указан символ, который вы хотите удалить из строки.

Пример

Рассмотрим следующий пример удаления всех указанных символов обрезки с правой стороны заданного строкового аргумента.

 SQL> SELECT RTRIM('Opal Kole2254', '2254') "RTRIM" FROM DUAL;
РТРИМ
---------
Опал Коле 
  • « Функции SQL

MS SQL TRIM, LTRIM, RTRIM

  • MS SQL TRIM, LTRIM, RTRIM
  • MS SQL STRING_SPLIT
  • НАИМЕНЬШИЙ()
  • НАИБОЛЬШИЙ()
  • Тип данных HierarchyID Производительность, советы и рекомендации
  • Тип данных HierarchyID Методы
  • Иерархические данные в MS SQL
  • Последний фактический план с sys.

    dm_exec_query_plan_stats

  • Метаданные TempDB, оптимизированные для памяти
  • Ускоренное восстановление базы данных (ADR)

Предыдущий пост

ТРИМ

TRIM — это новая функция MS SQL Server, представленная в MS SQL Server 2017.

Синтаксис:

TRIM ([символы ИЗ ]строки)

  • Строка — Выражение любого символьного типа (nvarchar, varchar, nchar или char), из которого следует удалить символы.
  • символов — Литерал, переменная или вызов функции любого символьного типа, отличного от LOB (nvarchar, varchar, nchar или char), содержащий символы, которые следует удалить. Типы nvarchar(max) и varchar(max) не разрешены.

Удаляет символы с обеих сторон (в начале/слева и в конце/справа) заданного строкового значения.

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

Также была возможность использовать пользовательскую функцию CRL (C# String.Trim() ), но этот подход, вероятно, не самый лучший и быстрый.

Пример:

 -- введенное значение
DECLARE @StringValue nvarchar(max) = 'удалить пробелы с обеих сторон этой строки';
-- строка с пробелами
ВЫБЕРИТЕ @StringValue КАК РЕЗУЛЬТАТ UNION ALL
-- старый способ перед введением TRIM
SELECT LTRIM(RTRIM(@StringValue)) AS Result UNION ALL
-- новый способ с TRIM
ВЫБЕРИТЕ TRIM(@StringValue) КАК Результат; 

[символы ОТ] не является обязательным. Если не указано, TRIM удалит символы пробела с обеих сторон от указанных 9.0200 строка значение. Если указано значение (символы), оно удалит указанные символы с обеих сторон указанного строкового значения.

 -- удалить символы с обеих сторон строки
SELECT TRIM('STR' FROM 'STRmydataSTR') AS trimmed_string;
-- будет удалена только буква S, так как после/перед буквой S нет буквы R
SELECT TRIM('SR' FROM 'STRmydataSTR') AS trimmed_string; 

MS SQL 2022 улучшена функция TRIM с дополнительными параметрами.

Синтаксис:

TRIM ([НАЧАЛО|КОНЕЦ|ОБА] [символы ИЗ ]строки)

  • Строка — Выражение любого символьного типа (nvarchar, varchar, nchar или char), из которого следует удалить символы.
  • символов — Литерал, переменная или вызов функции любого символьного типа, отличного от LOB (nvarchar, varchar, nchar или char), содержащий символы, которые следует удалить. Типы nvarchar(max) и varchar(max) не разрешены.
  • [НАЧАЛО|КОНЕЦ|ОБА] — Необязательный первый аргумент указывает, какую сторону строки следует обрезать:
    НАЧАЛО удаляет символы, указанные в начале строки. С необязательным позиционным аргументом LEADING поведение эквивалентно LTRIM(@строка, символы).
    TRAILING удаляет указанные символы с конца строки. С необязательным позиционным аргументом TRAILING поведение эквивалентно RTRIM(@string, character).
    ОБА (позиционное поведение по умолчанию) удаляет символы, указанные в начале и в конце строки. То же, что и раньше, без указания BOTH.
 -- Новые ПЕРЕДНИЕ и ЗАДНИЕ
SELECT TRIM(LEADING 'STR' FROM 'STRmydataSTR') AS leading_string;
SELECT TRIM (TRAILING 'STR' FROM 'STRmydataSTR') AS trailing_string;
-- То же, что и в предыдущем выпуске, но с явным указанием ОБА
SELECT TRIM('STR' FROM 'STR mydata STR') as trim_strings;
SELECT TRIM(BOTH 'STR' FROM 'STRmydataSTR') как Both_strings_trimmed; 

LTRIM и RTRIM

LTRIM и RTRIM — это функции, которые удаляют символы пробела в начале/конце заданного строкового значения.