天天看點

SQL:指定名稱查不到資料的衍伸~空格 換行符 回車符的批量處理

先看看啥情況

SQL:指定名稱查不到資料的衍伸~空格 換行符 輸入符的批量處理

複制查詢到的資料,粘貼一下看看啥情況

SQL:指定名稱查不到資料的衍伸~空格 換行符 輸入符的批量處理

那就批量處理一下~

SQL:指定名稱查不到資料的衍伸~空格 換行符 輸入符的批量處理

就這樣?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,' ','') --- 除去空格符

嘗試嘗試是否可以深度封裝

SQL:指定名稱查不到資料的衍伸~空格 換行符 輸入符的批量處理

最終封裝(還可再簡,如有更好方法歡迎貼出,逆天感激不盡)

SQL:指定名稱查不到資料的衍伸~空格 換行符 輸入符的批量處理
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)