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

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

先看看啥情况

 

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

那就批量处理一下~

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

先简单封装

--初步封装
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,' ','') --- 除去空格符

尝试尝试是否可以深度封装

最终封装(还可再简,如有更好方法欢迎贴出,逆天感激不尽)

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)

posted @ 2016-04-21 12:25  毒逆天  阅读(1013)  评论(0编辑  收藏  举报