从 SQL 服务器列中删除尾随空格和空格
Removing trailing spaces and whitespaces from SQL Server column
我的 SQL 服务器数据库中有一列,它在记录的左右站点有空白。基本上它是一个 nvarchar(250)
列。
我试过像这样完全删除空格:
UPDATE MyTable
SET whitespacecolumn = LTRIM(RTRIM(whitespacecolumn))
但这根本行不通,空白仍然存在。我在这里做错了什么?
检查以下内容;
- 在字段值中查找任何特殊字符,如 char(10)、char(13) 等。
- 检查 ANSI_PADDING 的状态。请参阅这篇 MSDN 文章。
我认为替换是您希望更新的方式
UPDATE MyTable SET whitespacecolumn = Replace(whitespacecolumn, ' ', '')
您可以先尝试 select 然后再更新
SELECT *, Replace(whitespacecolumn, ' ', '') from MyTable
LTRIM,RTRIM会去掉列前后的空格。在 2016 年,您还可以使用 TRIM 函数来 trim 特殊字符:
SELECT TRIM( '.,! ' FROM '# test .') AS Result;
输出:
# test
我的 SQL 服务器数据库中有一列,它在记录的左右站点有空白。基本上它是一个 nvarchar(250)
列。
我试过像这样完全删除空格:
UPDATE MyTable
SET whitespacecolumn = LTRIM(RTRIM(whitespacecolumn))
但这根本行不通,空白仍然存在。我在这里做错了什么?
检查以下内容;
- 在字段值中查找任何特殊字符,如 char(10)、char(13) 等。
- 检查 ANSI_PADDING 的状态。请参阅这篇 MSDN 文章。
我认为替换是您希望更新的方式
UPDATE MyTable SET whitespacecolumn = Replace(whitespacecolumn, ' ', '')
您可以先尝试 select 然后再更新
SELECT *, Replace(whitespacecolumn, ' ', '') from MyTable
LTRIM,RTRIM会去掉列前后的空格。在 2016 年,您还可以使用 TRIM 函数来 trim 特殊字符:
SELECT TRIM( '.,! ' FROM '# test .') AS Result;
输出:
# test