从 SQL Server 中的字符串中删除所有空格
在字符串前后存在空格的情况,我们可能需要删除/修剪空格以供使用。让我们看看它是如何在 SQL Server 中得到处理的。直到 SQL Server 2016,我们有称为 SQL LTRIM 和 SQL RTRIM 函数的函数。名称本身暗示 LTRIM 有助于删除最左边的空格,而 RTRIM 有助于删除最右边的空格。
从 SQL Server 2017 开始,我们还有 TRIM()函数,它使用单个函数修剪前导和尾随字符。在本文中,让我们详细介绍它们。
SQL LTRIM函数:
它从字符串的开头删除空格。我们可能在字符串前后有空格。通过使用 LTRIM()函数,我们可以删除最左边的空格。让我们使用 DATALENGTH()函数来计算使用 SQL LTRIM函数之前和之后的数据长度(以字节为单位)。结合所有这些,让我们看看下面的例子
询问:
DECLARE @gfgString VARCHAR(26)=
' GeeksForGeeks ';
SELECT @gfgString as OriginalString,
LTRIM(@gfgString) AS StringAfterLTRIM,
DATALENGTH(@gfgString) AS 'DataLength String (Bytes)',
DATALENGTH(LTRIM(@gfgString)) AS
'DataLength String (Bytes) After LTRIM';
输出:
SQL RTRIM函数:
它从字符串的末尾(从右侧开始)删除空格。我们可能在字符串前后有空格。通过使用 RTRIM()函数,我们可以删除最右边的空格。让我们使用 DATALENGTH()函数来计算使用 SQL RTRIM函数之前和之后的数据长度(以字节为单位)。结合所有这些,让我们看看下面的例子
询问:
DECLARE @gfgString VARCHAR(26)=
' GeeksForGeeks ';
SELECT @gfgString as OriginalString,
RTRIM(@gfgString) AS StringAfterRTRIM,
DATALENGTH(@gfgString) AS 'DataLength String (Bytes)',
DATALENGTH(RTRIM(@gfgString))
AS 'DataLength String (Bytes) After RTRIM';
输出:
SQL TRIM()函数:
从 SQL Server 2017 开始,我们也有 TRIM() 功能。它删除字符串的开头空格和结尾空格。
询问:
DECLARE @gfgString VARCHAR(26)=
' GeeksForGeeks ';
SELECT @gfgString as OriginalString,
TRIM(@gfgString) AS StringAfterTRIM,
DATALENGTH(@gfgString) AS 'DataLength String (Bytes)',
DATALENGTH(TRIM(@gfgString))
AS 'DataLength String (Bytes) After TRIM';
输出:
我们可以根据需要使用上述3个功能来删除空格。通常,要删除所有空格意味着,我们需要使用 TRIM()。我们也可以使用它来修剪列值。
询问:
use GEEKSFORGEEKS
SELECT AuthorName, LTRIM(AuthorName) as 'String after LTRIM', RTRIM(AuthorName) as 'String after RTRIM',
TRIM(AuthorName) as 'String after TRIM' FROM Authors;
输出:
SQL Server 提供了许多字符串操作函数,在这里我们已经看到了用于删除空格的 LTRIM()、RTRIM() 和 TRIM() 函数。