求一变量使用问题。
declare @abc varchar(1000)
set @abc='ADH00018083,ADH00018103'
declare @def varchar(5000)
set @def=replace(''''+@abc+'''',',',''',''')
这一步其实是想把'ADH00018083,ADH00018103'改变成'ADH00018083','ADH00018103'的格式。
然后
update kkk set ggg=1 where djbh in (@def)
问题在最后update 的时候,djbh in (@def)得不到数据,
而如果我使用select @def 却能得到数据
------解决方案--------------------这个需要拼接sql语句才能执行了。
你把update kkk set ggg=1 where djbh in (@def)
改写成:
declare @sql varchar(6000) = 'update kkk set ggg=1 where djbh in (' + @def +')'
exec @sql
应该就能执行了。
------解决方案--------------------动态执行
------解决方案--------------------