从 SQL 服务器列中删除尾随空格和空格

Removing trailing spaces and whitespaces from SQL Server column

我的 SQL 服务器数据库中有一列,它在记录的左右站点有空白。基本上它是一个 nvarchar(250) 列。

我试过像这样完全删除空格:

UPDATE MyTable 
SET whitespacecolumn = LTRIM(RTRIM(whitespacecolumn)) 

但这根本行不通,空白仍然存在。我在这里做错了什么?

检查以下内容;

  1. 在字段值中查找任何特殊字符,如 char(10)、char(13) 等。
  2. 检查 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