为了账号安全,请及时绑定邮箱和手机立即绑定

请朋友们帮帮忙看看下面的情况,谢谢哈!!

请朋友们帮帮忙看看下面的情况,谢谢哈!!

HUH函数 2022-11-20 13:09:22

请问,我在sqlserver中想用in判断范围进行批量删除,但只能输入一个字符串参数,如何拆字符串然后动态拼in()里面的内容呢?
字符串内容可能会是 'a','b','c','d' 这种类型的
也可能是 1,2,3,4,5 这种类型的,我现在想不出传进去的参数如何拆分在组装能编程in()能正确识别的结构

查看完整描述

2 回答

?
慕桂英4014372

TA贡献1595条经验 获得超13个赞

字符串应该类似'a,b,c,d' 或者'1,2,3,4'这样的吧?
拼字符串 set @str='select * from tb where 字段 in ('+char(39)+replace('字符串',',',char(39)+','+char(39)))+char(39)+')'
exec(@str)
就是把'a,b,c,d' 替换成 ('a','b','c','d')

查看完整回答
反对 回复 4天前
?
绝地无双

TA贡献1655条经验 获得超4个赞

如果 'a','b','c','d' 是别的表中的数据,那么类型只有一种,
select * from 表A where 列名A in (select 列名A from 表B)

查看完整回答
反对 回复 4天前

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信