当前位置:首页 > 系统运维 > 正文内容

去除SQL Server不可见字符并不难

a8116255316年前 (2010-07-08)系统运维10

以下的文章主要向大家讲述的是如何正确的去除SQL Server不可见字符,我们以例举实例的方式对其进行详细说明,假如你对其实际操作有兴趣了解的话,以下的文章你一定不要错过,以下就是文章的主要内容描述。

以下的实例为去除指定表中数据类型是VARCHAR,CHAR,NVARCHAR的字段值中的SQL Server不可见字符。 注释:此处只去掉前后的SQL Server不可见字符,不包括中间的字符,而且没有区分中文。

在使用前需要指定对应要修改的表名,并且需要在对应数据库下执行;

SET NOCOUNT ON  DECLARE @TblName VARCHAR(100)  DECLARE @Updatestring NVARCHAR(1000)  DECLARE @SelectString NVARCHAR(1000)  DECLARE @COlName VARCHAR(100)  DECLARE @COUNT INT  SET @TblName = 'YOURTABLENAME' 

指定想要修改的表名 --定义游标取出指定表内的数据类型是VARCHAR,char,nVARCHAR的字段名称

DECLARE cur_ColName CURSOR  FOR  SELECT col.name  FROM syscolumns AS col  inner join sysobjects AS obj ON col.ID = obj.ID  INNER join systypes AS typ ON col.xtype = typ.xtype  WHERE obj.xtype ='U' AND obj.name = @TblName  AND typ.name IN ('VARCHAR','CHAR','NVARCHAR','NCHAR')  FOR READ ON ***  

打开游标

OPEN cur_ColName  FETCH NEXT FROM cur_ColName INTO @ColName  IF @@FETCH_STATUS<>0  BEGIN 

PRINT '没有对应表或字段, 'PRINT '请确认当前数据库内有' + @TblName + '表, ' PRINT '或该表内有VARCHAR、CHAR、NVARCHAR、NCHAR类型的字段! ' GOTO LABCLOSE END--循环修改

WHILE @@FETCH_STATUS=0 BEGIN 

拼修改字符串 --去掉左边的SQL Server不可见字符

SET @SelectString = 'SELECT @COU=COUNT(*)   FROM ' + @TblName +'   WHERE ASCII(LEFT(' + @ColName +',1))<32 AND '+ @ColName + ' IS NOT NULL'  EXEC sp_executesql @SelectString,N'@COU INT OUTPUT',  @COUNT OUTPUT WHILE @COUNT>0  BEGIN   SET @UpdateString =   ' UPDATE ' + @TblName +   ' SET ' + @ColName + '=RIGHT(' + @ColName + ',LEN(' + @ColName + ')-1)   WHERE ASCII(LEFT(' + @ColName + ',1))<32   AND ' + @ColName + ' IS NOT NULL'   EXEC sp_executesql @UpdateString   EXEC sp_executesql @SelectString,N'@COU INT OUTPUT',@COUNT OUTPUT  END 

去掉右边的SQL Server不可见字符 SET @SelectString = 'SELECT @COU=COUNT(*)

FROM ' + @TblName +'   WHERE ASCII(RIGHT(' + @ColName +',1))<32   AND '+ @ColName + ' IS NOT NULL'  EXEC sp_executesql @SelectString,N'@COU INT OUTPUT',  @COUNT OUTPUT WHILE @COUNT>0  BEGIN   SET @UpdateString = ' UPDATE ' + @TblName + ' SET '  + @ColName + '=LEFT(' + @ColName + ',LEN(' + @ColName + ')-1)   WHERE ASCII(RIGHT(' + @ColName + ',1))<32   AND ' + @ColName + ' IS NOT NULL'   EXEC SP_EXECUTESQL @UpdateString   EXEC sp_executesql @SelectString,N'@COU INT OUTPUT',  @COUNT OUTPUT  END  PRINT 'column: ' + @ColName + '---ok'  FETCH NEXT FROM cur_ColName INTO @ColName  END 

关闭、释放游标LABCLOSE: CLOSE cur_ColName

DEALLOCATE cur_ColName 

以上的相关内容就是对SQL Server不可见字符的去除的介绍,望你能有所收获。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/21611.html

分享给朋友:

“去除SQL Server不可见字符并不难” 的相关文章

windows 7系统开机提示press any key to restart的故障分析及解

windows 7系统开机提示press any key to restart的故障分析及解

Windows 7 64位系统开机后提示"press any key to restart",无法进入系统了,具体现象如下所示: 故障分析: 故障的主要原因还是硬盘的问题,可以先检查是不是接触不良或坏了,进行修复或更换即可。 解决方法: 1、开机按F8不动到高级选项出现在松手,选“...

windows 7查看电脑近期使用情况确定有没有被他人使用

windows 7查看电脑近期使用情况确定有没有被他人使用

我一个朋友最近装装了Windows 7,他总感觉有人用了他的电脑,但是一直不确定,他想知道有没有人动用他的电脑,问我有没有办法 我说设置一下就行了: 启动Windows 7,在搜索栏中输入编辑组,马上就搜索到了编辑组策略,点击即可启动程序编辑组策略。依次展开组策略左侧树形列表的计算机配置/管理模...

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

故障现象: Windows 7酷狗软件无声音,系统声音正常。 原因分析: 1. 查看酷狗软件设置 2. 查看系统设置 解决方案: 1. Windows 7操作方法 如图:查看是否处于禁音状态   Windows 7系统声音正常酷狗音乐无声音 2. 查看设置音频输出是否...

windows 7系统开机后出现黑屏提示Windows无法启动

windows 7系统开机后出现黑屏提示Windows无法启动

一些用户的Windows 7系统开机后出现黑屏,代码为 Windows无法启动: WindowsSystem32ConfigSystem”。这个问题该如何修复呢?现在小编就给大家分析一下吧。 其实这个代码的意思是引导文件丢失了,引导文件(NTLDR)一般存放于C盘根目录下,是一个具有隐藏和只读属性...

Ubuntu 14.10上安装新的字体图文教程

Ubuntu 14.10上安装新的字体图文教程

像Ubuntu这种开源系统,一般都自带有好多漂亮的字体,不过假如您想使用您熟悉的字体,可以通过在Ubuntu或其它Linux系统上安装字体,帮助用户在使用开源OS平台上更好的视图体验。 软件名称:Ubuntu 14.04 官方正式版软件大小:752MB更新时间:2014-05-07 Ubun...

windows 7系统中不能把程序锁定到任务栏的解决方法图文讲解

windows 7系统中不能把程序锁定到任务栏的解决方法图文讲解

最近小编在使用Windows 7的时侯遇到一个问题,就是应用程序和快捷方式不能锁定到任务栏,我当时不知道怎么回事,但是很多现有的方法都不能解决这个问题。现在我把我的解决的方法分享给大家以作参考。 问题分析 经过思考,初步判断出现该问题的原因是由于使用第三方优化软件消除快捷方式的小箭头引起的。...