SQL Server:RTRIM无法删除空格

问题描述 投票:1回答:2

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

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

SELECT
    EmpId, RTRIM(Designation) AS Designation, City 
FROM
    tblEmployee

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

我也试过了

CONVERT(VARCHAR(56), LTRIM(RTRIM(Designation))) AS [Designation]

什么都没有修剪字符串末尾的空白区域......

任何帮助赞赏

编辑

感谢评论中的建议,我使用ASCII()检查了列中的最后一个值。它是160non-breaking space

如何删除这个不间断的空间?

sql-server trim
2个回答
1
投票

由于该值可以包含不间断的空格,因此在进行修剪之前需要用常规空格替换它们:

SELECT
    EmpId, RTRIM(REPLACE(Designation,char(160),' ') AS Designation, City 
FROM
    tblEmployee

1
投票

如何删除这个不间断的空间?

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

SELECT REPLACE(YourColumn, CHAR(160), '')
FROM YourTable;
© www.soinside.com 2019 - 2024. All rights reserved.