列表数据有时候突然显示空白,检查有返回数据,但是转JSON时候出错了,去检测发现原来是有Tab键特殊字符,要如何修改数据呢?
这时候需要在数据库把特殊字符给替换掉,我们可以按照ASCII码去查找匹配出问题数据,这里我处理的是Tab键特殊字符,ASCII码就对应的是编码9,SQLServer中就可以用CHAR(9)表示,所以代码就可以按下面这样匹配:
--查询问题数据(Tab键)
SELECT ColName FROM TBName WHERE ColName LIKE '%' + CHAR(9) + '%'
--修正数据(Tab键)
UPDATE TBName SET ColName=REPLACE(ColName,CHAR(9),'') WHERE ColName LIKE '%' + CHAR(9) + '%'
除了CHAR(9)Tab空格,其他的特殊字符空格还有CHAR(10)换行和CHAR(13)回车,在数据库中显示都是空格,看不出差别,我们可以用PRINT输出看出对比:
PRINT '--水平制表符(Tab键)--'
PRINT 'A' + CHAR(9) + 'B'
PRINT '--换行键--'
PRINT 'A' + CHAR(10) + 'B'
PRINT '--回车键--'
PRINT 'A' + CHAR(13) + 'B'
更多字符代码可百度查看ASCII: