问题描述
|
我有一个应用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实现