Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Относится к: SQL Server 2017 (14.x) и более поздние версии
Azure SQL Database
AzureSQL Managed Instance
AzureSynapse Analytics
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric
SQLdatabase in Microsoft Fabric
Удаляет символ пробела char(32) или другие заданные символы в начале и конце строки.
Начиная с SQL Server 2022 (16.x), при необходимости удаляет пробел char(32) или другие указанные символы из начала, конца или обеих сторон строки.
Соглашения о синтаксисе Transact-SQL
Синтаксис
Синтаксис для SQL Server 2019 (15.x) и более ранних версий, а также Azure Synapse Analytics:
TRIM ( [ characters FROM ] string )
Синтаксис для SQL Server 2022 (16.x) и более поздних версий, Azure SQL Managed Instance, Azure SQL Database и Microsoft Fabric:
Внимание
Вам нужен уровень совместимости базы данных для 160 использования LEADINGTRAILINGключевых слов или BOTH ключевых слов.
TRIM ( [ LEADING | TRAILING | BOTH ] [characters FROM ] string )
Аргументы
[ LEADING | ПУТЬ | ОБА ]
Относится к: SQL Server 2022 (16.x) и более поздние версии, Azure SQL Managed Instance, Azure SQL Database и 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)).
Чтобы включить необязательные LEADINGTRAILINGаргументы или 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. Другие символы были проигнорированы, так как их не было в строке.
В. Удаление указанных символов из начала строки
Внимание
Вам нужен уровень совместимости базы данных для 160 использования LEADINGTRAILINGключевых слов или BOTH ключевых слов.
В следующем примере из начала строки удаляется начальный символ . перед словом test.
SELECT TRIM(LEADING '.,! ' FROM ' .# test .') AS Result;
Вот результирующий набор.
# test .
D. Удаление указанных символов из конца строки
Внимание
Вам нужен уровень совместимости базы данных для 160 использования LEADINGTRAILINGключевых слов или BOTH ключевых слов.
В следующем примере из конца строки удаляется конечный символ . после слова test.
SELECT TRIM(TRAILING '.,! ' FROM ' .# test .') AS Result;
Вот результирующий набор.
.# test
Е. Удаление указанных символов из начала и конца строки
Внимание
Вам нужен уровень совместимости базы данных для 160 использования LEADINGTRAILINGключевых слов или BOTH ключевых слов.
В следующем примере символы 123 удаляются из начала и конца строки 123abc123.
SELECT TRIM(BOTH '123' FROM '123abc123') AS Result;
Вот результирующий набор.
abc