今天发现sql数据库有个图片路径中包含空格,结果在替换和查找时,发现用空格无效,后来经过确认才发现原来是回车换行符引起,从表面看很像空格,实际是回车符,要用char(13)才能进行替换和查找
原数据如下图:
--查找异常数据
SELECT PHOTO22 FROM dbo.mt_per_tbl WHERE PHOTO22 LIKE '%'+CHAR(13)+'%';
--替换回车换行符
UPDATE mt_per_tbl SET PHOTO22=REPLACE(REPLACE(PHOTO22,CHAR(13),''),CHAR(10),'')
WHERE PHOTO22 LIKE '%'+CHAR(13)+'%';
在用 Replace, Like 等语句或函数中,若发现不是空格时,可以尝试用回车换行符号来检验
控制字符 | 值 |
---|---|
制表符 | CHAR(9) |
换行符 | CHAR(10) |
回车 | CHAR(13) |