我的表中的列值之一在每个字符串的末尾都有空格。
在我的选择查询中,我正在尝试修剪字符串末尾的空格,但值没有得到修剪。
SELECT
EmpId, RTRIM(Designation) AS Designation, City
FROM
tblEmployee
这不是修剪空白空间,不仅如此,甚至LTRIM(RTRIM(Designation) AS Designation
也不起作用。
我也试过
CONVERT(VARCHAR(56), LTRIM(RTRIM(Designation))) AS [Designation]
没有什么可以修剪字符串末尾的空白区域......
任何帮助表示赞赏
编辑
感谢评论中的建议,我使用ASCII()
检查了列中的最后一个值。它160
是一个不间断的空间。
如何删除此不间断空格?
如何删除此不间断空格?
只需将其替换为''
CHAR()
函数即可
SELECT REPLACE(YourColumn, CHAR(160), '')
FROM YourTable;
由于该值可以包含不间断空格,因此在执行修剪之前,您需要将这些空格替换为常规空格:
SELECT
EmpId, RTRIM(REPLACE(Designation,char(160),' ')) AS Designation, City
FROM
tblEmployee
我遇到了类似的问题,在修剪功能不起作用的情况下,使用以下脚本删除空格 -
SELECT LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE([ColumnName], CHAR(10),
CHAR(32)),CHAR(13), CHAR(32)),CHAR(160), CHAR(32)),CHAR(9),CHAR(32))))
FROM [TableName]
欲了解更多信息,请访问此页面 - http://www.ashishblog.com/trim-not-removing-spaces-in-sql/
如果您的数据类型是 Varchar,则这些都不起作用。确保将数据类型更改为 Nvarchar。然后使用修剪。