日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

如何在SQL Server中去除表中不可見字符_Mssql數(shù)據(jù)庫教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:解讀在Oracle數(shù)據(jù)庫中高速導出/導入的方法
迄今為止,導出/導入工具集仍是跨多個平臺轉移數(shù)據(jù)所需勞動強度最小的首選實用工具,盡管人們常常抱怨它速度太慢。導入只是將每條記錄從導出轉儲文件中讀出來,然后使用常見的 INSERT INTO 命令將其插入到目標表中,因此導入可能是個很慢的過程,這一點并不

以下的實例為去除指定表中數(shù)據(jù)類型是VARCHAR,CHAR,NVARCHAR的字段值中的不可見字符。 注釋:此處只去掉前后的不可見字符,不包括中間的字符,而且沒有區(qū)分中文。

在使用前需要指定對應要修改的表名,并且需要在對應數(shù)據(jù)庫下執(zhí)行;

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'--指定想要修改的表名
--定義游標取出指定表內(nèi)的數(shù)據(jù)類型是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 ONLY
--打開游標
OPEN cur_ColName
FETCH NEXT FROM cur_ColName INTO @ColName
IF @@FETCH_STATUS<>0
BEGIN
PRINT '沒有對應表或字段,
'PRINT '請確認當前數(shù)據(jù)庫內(nèi)有' @TblName '表,
' PRINT '或該表內(nèi)有VARCHAR、CHAR、NVARCHAR、NCHAR類型的字段!
' GOTO LABCLOSE
END--循環(huán)修改
WHILE @@FETCH_STATUS=0
BEGIN
--拼修改字符串
--去掉左邊的不可見字符
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
--去掉右邊的不可見字符 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

分享:解讀數(shù)據(jù)庫自動化技術彌補數(shù)據(jù)庫DBA短缺難題
全球數(shù)據(jù)量的瘋狂增長,使得市場對資深數(shù)據(jù)庫管理員的需求也節(jié)節(jié)攀升。據(jù)統(tǒng)計,一直到2016美國IT市場對數(shù)據(jù)庫管理員的需求量增長都將會超過所有其他職業(yè)。數(shù)據(jù)庫管理員具備一整套專業(yè)性非常強的技術技能,因此其在數(shù)據(jù)中心里的地位是最難以替代的。 數(shù)據(jù)庫自

來源:模板無憂//所屬分類:Mssql數(shù)據(jù)庫教程/更新時間:2009-07-06
相關Mssql數(shù)據(jù)庫教程