Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Относится к: 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
Tip
Microsoft Fabric Data Warehouse — это реляционное хранилище корпоративного масштаба на основе озера данных, с архитектурой, готовой к будущему, встроенным ИИ и новыми функциями. Если вы не знакомы с хранилищем данных, начните с Fabric Data Warehouse. Существующие рабочие нагрузки выделенных пулов SQL могут быть обновлены до 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) и более поздних версий, Управляемый экземпляр SQL Azure, База данных SQL Azure и Microsoft Fabric:
Внимание
Вам нужен уровень совместимости базы данных для 160 использования LEADINGTRAILINGключевых слов или BOTH ключевых слов.
TRIM ( [ LEADING | TRAILING | BOTH ] [characters FROM ] string )
Аргументы
[ LEADING | ПУТЬ | ОБА ]
Относится к: SQL Server 2022 (16.x) и более поздние версии, Управляемый экземпляр SQL Azure, База данных 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)).
Чтобы включить необязательные 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