找回密码
 立即注册

QQ登录

只需一步,快速开始

moer 活字格认证
金牌服务用户   /  发表于:2024-8-30 14:09  /   查看:823  /  回复:4
10金币

请问服务端命令怎么
bh001,bh002,hb003  转换成
'bh001','bh002','bh003'


多选的结果是是: bh001,bh002,hb003
在执行sql语句的时候,查询 语句 select * from table  where bh in( 'bh001','bh002','bh003')

最佳答案

查看完整内容

sql server 这样搞定select * from table where bh in(SELECT value FROM STRING_SPLIT(@参数, ','))

4 个回复

倒序浏览
最佳答案
最佳答案
moer活字格认证
金牌服务用户   /  发表于:2024-8-30 14:09:59
来自 4#
sql  server  这样搞定select * from table where bh  in(SELECT value FROM STRING_SPLIT(@参数, ','))
回复 使用道具 举报
moer活字格认证
金牌服务用户   /  发表于:2024-8-30 14:15:28
2#
="'"&SUBSTITUTE(参数_字符串,",","','")&"'"
回复 使用道具 举报
Simon.Sun活字格认证 Wyn认证
超级版主   /  发表于:2024-8-30 15:25:23
3#
大佬,这个问题是解决了吗?
您好,如果是执行 SQL 命令的话,还不支持使用 IN 用数组类型的参数。
SQL 里的参数是当做一个整体的参数去处理的,而不是 SQL 语句的拼接。
目前这样的需求,可以考虑用其他方案去处理,如果是 SQL Server 的话,可以考虑用 CHARINDEX 去做字符串包含判断,比如:
其中区域是逗号分割的字符串,比如 A,B,C
回复 使用道具 举报
Simon.Sun活字格认证 Wyn认证
超级版主   /  发表于:2024-8-30 16:47:19
5#
牛,这个方案也是可以的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部