覺得有用,給兄弟們分享一下
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...