【发布时间】:2018-10-24 19:30:07
【问题描述】:
我的表中的一个列值在每个字符串的末尾都有空格。
在我的选择查询中,我试图修剪字符串末尾的空格,但值没有被修剪。
SELECT
EmpId, RTRIM(Designation) AS Designation, City
FROM
tblEmployee
这不是修剪空白空间,不仅仅是这个,甚至LTRIM(RTRIM(Designation) AS Designation 也不起作用。
我也试过了
CONVERT(VARCHAR(56), LTRIM(RTRIM(Designation))) AS [Designation]
没有任何东西会修剪字符串末尾的空白空间...
任何帮助表示赞赏
编辑
感谢 cmets 中的建议,我使用 ASCII() 检查了列中的最后一个值。是160 是non-breaking space。
我怎样才能删除这个不间断的空间?
【问题讨论】:
-
是什么让您认为空间没有被修剪?您需要展示发生这种情况的可重现示例。
-
是什么让你认为没有被修剪的字符是空格?
-
@MartinSmith 的意思是(这很重要)你确定它们不是 CR、LF、TAB 等吗?
-
为了提供帮助,请在有 空格 的行上运行此命令,然后让我们知道结果。
select ascii(right(YourColumn,1)) from YourTable -
@scsimon 非常感谢
标签: sql-server trim