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



此外,香归香,注意索引问题

 

posted on 2020-11-05 14:52  执古之道  阅读(1010)  评论(0编辑  收藏  举报