适用于: sql Server 2017 (14.x) 及更高版本
Azure SQL 数据库 Azure SQL 托管实例
Microsoft Fabric Microsoft Fabric
Warehouse 中的 Azure Synapse Analytics SQL 分析终结点
删除字符串开头和结尾的空格字符 char(32) 或其他指定字符。
还可以移除字符串的开头、末尾或首尾空格字符 char(32) 或其他指定字符。
从 SQL Server 2022 (16.x) 开始,可以移除字符串的开头、末尾或首尾空格字符 char(32) 或其他指定字符。
语法
SQL Server 2022 (16.x) 及更低版本、Azure SQL 数据库和 Azure Synapse Analytics 的语法:
TRIM ( [ characters FROM ] string )
SQL Server 2022 (16.x) 及更高版本、Azure SQL 托管实例和 Microsoft Fabric 的语法:
重要
你将需要将数据库兼容性级别设置为 160 才能使用 LEADING、TRAILING 或 BOTH 关键字。
TRIM ( [ LEADING | TRAILING | BOTH ] [characters FROM ] string )
参数
[ LEADING | TRAILING | BOTH ]
适用于:SQL Server 2022 (16.x) 及更高版本、Azure SQL 托管实例和 Microsoft Fabric:
可选的第一个自变量指定要剪裁的字符串的哪一侧:
LEADING将移除字符串开头的指定字符。TRAILING将移除字符串末尾的指定字符。BOTH(默认位置行为)价格移除字符串开头和末尾的指定字符。
characters
任何非 LOB 字符类型(nvarchar、varchar、nchar 或 char)的文本、变量或函数调用,其中包含应删除的字符。 不允许使用 nvarchar(max) 和 varchar(max) 类型。
string
要移除字符的任意字符类型表达式(nvarchar、varchar、nchar 或 char)。
返回类型
返回一个字符串参数类型的字符表达式,其中已从两侧删除空格字符 char(32) 或其他指定字符。 如果输入字符串是 NULL,则返回 NULL。
注解
默认情况下,TRIM 函数删除字符串开头和末尾的空格字符。 此行为等同于 LTRIM(RTRIM(@string))。
要在 SQL Server 2022 (16.x) 中启用可选的 LEADING、TRAILING 或 BOTH 位置参数,则必须在执行查询时,在要连接到的数据库上启用数据库兼容性级别 160。
- 使用可选的
LEADING位置参数,行为等同于LTRIM(@string, characters)。 - 使用可选的
TRAILING位置参数,行为等同于RTRIM(@string, characters)。
示例
A. 删除字符串两侧的空格字符
以下示例删除了 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
E. 删除字符串开头和末尾的指定字符
重要
你将需要将数据库兼容性级别设置为 160 才能使用 LEADING、TRAILING 或 BOTH 关键字。
以下示例删除字符串 123abc123 开头和末尾的字符 123。
SELECT TRIM(BOTH '123' FROM '123abc123') AS Result;
结果集如下。
abc