bdh*_*har 9 sql t-sql sql-server sql-server-2000 trim
我使用的是SQL Server MSDE 2000.我有一个名为notesnvarchar(65)的字段.
内容是"Something",在所有记录中的内容(为清晰起见)之后留有额外空格.我使用了以下命令.
UPDATE TABLE1
SET notes = RTRIM(LTRIM(notes))
Run Code Online (Sandbox Code Playgroud)
但它不起作用.有没有其他方法可以做到这一点?
OMG*_*ies 11
你确定查询不起作用吗?尝试:
SELECT TOP 100 '~'+ t.notes +'~'
FROM TABLE1 t
Run Code Online (Sandbox Code Playgroud)
TOP 100将结果限制在前100行,足以让人知道输出中是否真的有空格.如果有,并且RTRIM/LTRIM没有删除它 - 那么你没有处理空格字符.在这种情况下,请尝试:
UPDATE TABLE1
SET notes = REPLACE(notes,
SUBSTRING(notes, PATINDEX('%[^a-zA-Z0-9 '''''']%', notes), 1),
'')
WHERE PATINDEX('%[^a-zA-Z0-9 '''''']%', notes) <> 0
Run Code Online (Sandbox Code Playgroud)