随风而去

博客园 首页 新随笔 联系 订阅 管理

 

create table #tempTable(        -- 实验表
            [oldID]    char(1),
            
[newID]    char(1),
            
[name]    varchar(10))
insert into #tempTable values('1','6','zhang')
insert into #tempTable values('2','7','li')
insert into #tempTable values('3','8','wang')
insert into #tempTable values('4','9','xiao')
insert into #tempTable values('5','0','gu')
select * from #tempTable    -- 更改之前表值
declare @condition    varchar(20)    -- 条件
    set @condition = '''1'';''2'';''3'';''4'';''5'';'
declare @sql    nvarchar(100)
declare @charindex    int set @charindex=0
declare @index    int set @index=0
while @index < 5
begin
    
set @sql = 'update #tempTable set [oldID]=[newID]
                where [oldID] in(
'+
            
replace(
                
substring(@condition,@charindex,
                    
charindex(';',@condition,@charindex+1)-@charindex),';','')+')'
    
print @sql
    
exec sp_executesql @sql
    
set @charindex = charindex(';',@condition,@charindex+1)
    
set @index = @index + 1
end
select * from #tempTable
drop table #tempTable

sql 截取字符串,当多选择条件时,使用动态语句实现
posted on 2008-06-04 16:31  Aaron_Zhang  阅读(1215)  评论(0)    收藏  举报