T-SQL修剪不起作用-在结果上留空格

问题描述

| 我有一个应用ltrim和rtrim的修剪功能
CREATE FUNCTION dbo.TRIM(@string VARCHAR(MAX))
RETURNS VARCHAR(MAX)
BEGIN
RETURN LTRIM(RTRIM(@string))
END
GO
我执行以下查询
SELECT distinct dbo.trim([subject]) as subject
FROM [disTR]
结果包含以下行:
\"A\"
\"A  \"
\"B\"
...
我以为thoose字符可能不是空格,但是当我得到ascii代码时,它返回32,这是空格代码。 我唯一的猜测是我必须将数据库的协作更改为:sql_latin1_General_CP1_CI_AI 这可能是问题吗?有任何想法吗? 谢谢     

解决方法

        也许您的字段包含的空间不止于此。请记住,“ \”可能是空格,制表符和许多其他“空白”字符。可以使用ASCII进行匹配,也可以使用正则表达式构建修剪的CLR实现