SQL Server:RTRIM无法删除空白

时间:2018-10-24 19:30:08

标签: sql-server trim

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

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

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

如何删除不间断的空格?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

  

如何删除不间断的空格?

只需将其替换为'',然后将CHAR()函数用作

SELECT REPLACE(YourColumn, CHAR(160), '')
FROM YourTable;