SQL 使用in参数化时无法正常查询出数据,原因是参数作为了一个独立字符串。
不想直接拼接或者 exec时:
1.Oracle可以使用instr处理
"select * from TABLE where instr(:ids,TABLE.ID)>0";
2.MySQL可以使用FIND_IN_SET
select * from Table where FIND_IN_SET(id, @ids);
3.SqlServer可以使用 CHARINDEX
select * from Table where CHARINDEX(','+ltrim(str(id))+',',','+@ids+',')>0
此外,香归香,注意索引问题