SQL Server:RTRIM 无法删除空格

use*_*688 4 sql-server trim

我的表中的列值之一在每个字符串的末尾都有空格。

在我的选择查询中,我试图修剪字符串末尾的空白区域,但该值没有被修剪。

SELECT
    EmpId, RTRIM(Designation) AS Designation, City 
FROM
    tblEmployee
Run Code Online (Sandbox Code Playgroud)

这不是修剪空白空间,不仅如此,甚至LTRIM(RTRIM(Designation) AS Designation不起作用。

我也试过

CONVERT(VARCHAR(56), LTRIM(RTRIM(Designation))) AS [Designation]
Run Code Online (Sandbox Code Playgroud)

没有任何东西可以修剪字符串末尾的空白区域...

任何帮助表示赞赏

编辑

感谢评论中的建议,我使用ASCII(). 这是160一个不间断的空间

我怎样才能删除这个不间断的空间?

Sam*_*ami 5

我怎样才能删除这个不间断的空间?

只需将其替换为''并使用CHAR()函数作为

SELECT REPLACE(YourColumn, CHAR(160), '')
FROM YourTable;
Run Code Online (Sandbox Code Playgroud)


Ric*_*imo 1

由于该值可以包含不间断空格,因此您需要在进行修剪之前将其替换为常规空格:

SELECT
    EmpId, RTRIM(REPLACE(Designation,char(160),' ')) AS Designation, City 
FROM
    tblEmployee
Run Code Online (Sandbox Code Playgroud)