批量替換表字段內容

2022-02-19 17:03:19 字數 1697 閱讀 9745

覺得有用,給兄弟們分享一下

declare @updatestring nvarchar(1000)

declare @selectstring nvarchar(1000)

declare @colname varchar(100)

declare @count   int

if(@tblname is null or @tblname='')

begin

set @tblname = 't_country'--指定想要修改的表名

end--定義游標取出指定表內的資料型別是varchar,char,nvarchar的欄位名稱

declare cur_colname   cursor

forselect 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 '請確認當前資料庫內有' + @tblname + '表,'

print '或該錶內有varchar、char、nvarchar、nchar型別的字段!'

goto labclose

end--迴圈修改

while @@fetch_status=0

begin

--拼修改字串

--去掉左邊的不可見字元

set @selectstring = 'select @cou=count(*)

from ' + @tblname +'

where   '+ @colname + ' is not null'

exec sp_executesql @selectstring,n'@cou int output',@count output

if(@count>0)

begin

set @updatestring =

' update ' + @tblname +

' set ' + @colname + '=replace(' + @colname + ','''+@replacestr+''','''')

where     ' + @colname + ' is not null'

exec sp_executesql @updatestring

end--print 'column:    ' + @colname + '---ok'

fetch next from cur_colname into @colname

end--關閉、釋放游標

labclose: close cur_colname

deallocate cur_colname

mysql 批量替換 內容

mysql批量替換字段內容語法 update 表名set 字段 replace 字段,原內容 替換內容 where 條件 支援多欄位 update 表名set 字段 replace 字段,原內容 替換內容 字段 replace 字段,原內容 替換內容 where 條件 例子 update ecs g...

REPLACE(替換字段內容)

語法 replace str1 with str2 into c length l abap 4 搜尋字段 c 中模式 str1 前 l 個位置第一 次出現的地 方。如果未 指定長度,按全長度搜 索模式 str1 然後,語句 將模式 str1 在字段 c 中第一次出 現的位置用 字串 str2 替換...

sql替換語句 批量修改 增加 刪除字段內容

命令總解 update 表的名稱 set 替換字段 replace 替換字段,原來內容,新內容 舉例說明 1 把backupfile表裡url的字段內容為的全部改為 update backupfile set url replace url,2 根據條件增加欄位的內容,如把file number 1...