怎样将数组作为sql中in的查询条件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样将数组作为sql中in的查询条件?相关的知识,希望对你有一定的参考价值。
select * from table where id in('tmp')
** tmp的值来自前台文本输入框,文本框中的数据每次都不一样,个数也不相同,均用“,”分隔开。怎么在数据库查询出这些值所在行的信息
这个是用C#写的,原理都是一样的。*/
string kk = "tt,oo,pp"; //假设从文本框获取的值是字符串kk
string[] b = kk.Split(','); //将字符串中的","除去后存入数组里
string endstr = "";
for (int i = 0; i < b.Length; i++) //根据数组的元素个数判断循环次数
kk = "'" + b[i] + "'"; //在每个元素前后加上我们想要的格式,效果例如:
// " 'tt' "
if (i < b.Length - 1) //根据数组元素的个数来判断应该加多少个逗号
kk += ",";
endstr += kk;
string sqlstr = "select * from tablename where xxx in(" + endstr + ")";
//最后 select * from tablename where xxx in ('tt','oo','pp')
如果还有更好的办法,也欢迎各位网友能够指教,谢谢!祝各位生活愉快,工作顺利!
参考技术A您好:
您可以试试
select * from table where id in("+传入的变量+")这是组合SQL语句,只需要考虑最后的SQL内容就可以了。。。
我试试
参考技术B拼接一下进行了
String[] tmps=tmp.split(",");String tmp="";
for(int i=0;i>tmps.length;i++)
tmp+="'"+tmp[i]+"'";
if(i<tmp.length-1)
tmp+=",";
String sql="select * from table where id in("+tmp+")"; 参考技术C String[] tmps = new string[2];
tmps[0] = "1";
tmps[1] = "2";
String tmp = "";
for (int i = 0; i<tmps.Length; i++)
tmp += "'" + tmps[i] + "'";
if (i < tmps.Length - 1)
tmp += ",";
//string str ="'1','2',";
string strda = string.Format("select * from tb_jieguo where id in("+ tmp+ ") ");
以上是关于怎样将数组作为sql中in的查询条件?的主要内容,如果未能解决你的问题,请参考以下文章
使用“IN”命令将数组作为要在 SQL 查询中使用的参数传递