您的位置:首页 > 数据库

sql in '1,2' 转换成int

2016-05-26 16:53 267 查看
有两种解决办法

1.模糊查询   

select * from a where  PATINDEX('%,'+cast("A字段"as varchar(10))+',%', ','+(select B字段 from b WHERE Id="+"条件"+")+',') <> 0

01.select B字段 from b WHERE Id="+条件    查询出来的数据是   1,2,3,4,5,6,7,8

02.select * from a where .....  找出A表中A字段中所有包含 1,2,3,4,5,6....的所有数据

03.给 01中查询出来的数据加上",",变成了",1,2,3...9,"

04.给 02中字段加上“,”,变成了  ",A字段,"

05.用模糊查询patindex来查询A字段中的数据,所有包含''1,2,3,4..."的数据

第二种方法:

01.select B字段 from b WHERE Id="+条件    查询出来的数据是   1,2,3,4,5,6,7,8

02.用Split(','),在程序中分隔 数据,forech 循环出来

03.得到的结果成了 1  2   3  .....

04.用 Append  给连接到一起 

05.得到的结果就是  a=1 or a=2 or a=3 or a=4 ......

这两种解决办法,得到的结果都是一样的,望采纳!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: