SQL:指定名称查不到数据的衍伸~空格 换行符 回车符的批量处理

异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.htmlhtml

先看看啥状况sql

 

复制查询到的数据,粘贴一下看看啥状况数据库

那就批量处理一下~3d

就这样?NONONO,衍伸一下~咱们的各类偷懒(世界就是懒人改变的)htm

先简单封装blog

--初步封装
declare @cloumnName varchar(100)='TName'
update ShopMenuType set @cloumnName=replace(@cloumnName,char(10),'') --- 除去换行符
update ShopMenuType set @cloumnName=replace(@cloumnName,char(13),'') --- 除去回车符
update ShopMenuType set @cloumnName=replace(@cloumnName,' ','') --- 除去空格符 get

尝试尝试是否能够深度封装it

最终封装(还可再简,若有更好方法欢迎贴出,逆天感激涕零)table

declare @tableName varchar(100),@cloumnName varchar(100),@sqlStr nvarchar(1000)
select @tableName='ShopMenuType',@cloumnName='TName'--每次替换这里的表名和列名就能够了
set @sqlStr='update '+@tableName+' set '+@cloumnName+'=replace('+@cloumnName+',char(10),'''')' --- 除去换行符
set @sqlStr=@sqlStr+' update '+@tableName+' set '+@cloumnName+'=replace('+@cloumnName+',char(13),'''')' --- 除去回车符
set @sqlStr=@sqlStr+' update '+@tableName+' set '+@cloumnName+'=replace('+@cloumnName+','' '','''')' --- 除去空格符
print @sqlStr
exec(@sqlStr)date