TRIM (Transact-SQL)
Область применения: SQL Server 2017 (14.x) и более поздних версий База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики SQL Azure Synapse Analytics в хранилище Microsoft Fabric в Microsoft Fabric
Удаляет символ пробела char(32)
или другие заданные символы в начале и конце строки.
При необходимости удаляет пробел char(32)
или другие указанные символы из начальной, конечной или обеих сторон строки.
Начиная с SQL Server 2022 (16.x), при необходимости удаляет пробел char(32)
или другие указанные символы из начала, конца или обеих сторон строки.
Соглашения о синтаксисе Transact-SQL
Синтаксис
Синтаксис SQL Server 2022 (16.x) и более ранних версий, База данных SQL Azure и Azure Synapse Analytics:
TRIM ( [ characters FROM ] string )
Синтаксис ДЛЯ SQL Server 2022 (16.x) и более поздних версий, Управляемый экземпляр SQL Azure и Microsoft Fabric:
Внимание
Вам нужен уровень совместимости базы данных для 160
использования LEADING
TRAILING
ключевых слов или BOTH
ключевых слов.
TRIM ( [ LEADING | TRAILING | BOTH ] [characters FROM ] string )
Аргументы
[ LEADING | TRAILING | BOTH ]
Область применения: SQL Server 2022 (16.x) и более поздних версий, Управляемый экземпляр SQL Azure и Microsoft Fabric:
Необязательный первый аргумент указывает, какую сторону строки следует обрезать:
LEADING
удаляет символы, указанные в начале строки.TRAILING
удаляет символы, указанные в конце строки.BOTH
(поведение по умолчанию) удаляет символы, указанные в начале и конце строки.
characters
Литерал, переменная или вызов функции любого типа символов, отличного от большого объекта (nvarchar, varchar, nchar или char), которые содержат удаляемые символы. Типы nvarchar(max) и varchar(max) не допускаются.
string
Выражение любого типа символа (nvarchar, varchar, nchar или char), где должны быть удалены символы.
Типы возвращаемых данных
Возвращает символьное выражение с типом аргумента string, в котором символ пробела char(32)
или другие заданные символы удалены с обеих сторон. Возвращает NULL
, если входная строка равна NULL
.
Замечания
По умолчанию функция TRIM
удаляет символ пробела как в начале, так и в конце строки. Такая реакция на событие эквивалентна LTRIM(RTRIM(@string))
.
Чтобы включить необязательные LEADING
TRAILING
аргументы или BOTH
позиционные аргументы в SQL Server 2022 (16.x), необходимо включить уровень 160
совместимости базы данных в базе данных, к которую вы подключаетесь при выполнении запросов.
- При использовании необязательного позиционного аргумента
LEADING
поведение эквивалентноLTRIM(@string, characters)
. - При использовании необязательного позиционного аргумента
TRAILING
поведение эквивалентноRTRIM(@string, characters)
.
Примеры
А. Удаление пробела с обеих сторон строки
В приведенном ниже примере удаляются пробелы перед словом test
и после него.
SELECT TRIM( ' test ') AS Result;
Вот результирующий набор.
test
B. Удаление указанных символов с обеих сторон строки
В следующем примере представлен список возможных символов для удаления из строки.
SELECT TRIM( '.,! ' FROM ' # test .') AS Result;
Вот результирующий набор.
# test
В этом примере удалены только конечная точка, а также пробелы перед символом #
и после слова test
. Другие символы были проигнорированы, так как их не было в строке.
C. Удаление указанных символов из начала строки
Внимание
Вам нужен уровень совместимости базы данных для 160
использования LEADING
TRAILING
ключевых слов или BOTH
ключевых слов.
В следующем примере из начала строки удаляется начальный символ .
перед словом test
.
SELECT TRIM(LEADING '.,! ' FROM ' .# test .') AS Result;
Вот результирующий набор.
# test .
D. Удаление указанных символов из конца строки
Внимание
Вам нужен уровень совместимости базы данных для 160
использования LEADING
TRAILING
ключевых слов или BOTH
ключевых слов.
В следующем примере из конца строки удаляется конечный символ .
после слова test
.
SELECT TRIM(TRAILING '.,! ' FROM ' .# test .') AS Result;
Вот результирующий набор.
.# test
Е. Удаление указанных символов из начала и конца строки
Внимание
Вам нужен уровень совместимости базы данных для 160
использования LEADING
TRAILING
ключевых слов или BOTH
ключевых слов.
В следующем примере символы 123
удаляются из начала и конца строки 123abc123
.
SELECT TRIM(BOTH '123' FROM '123abc123') AS Result;
Вот результирующий набор.
abc