+ -
当前位置:首页 → 问答吧 → 怎么样写这个搜索SQL语句

怎么样写这个搜索SQL语句

时间:2011-09-13

来源:互联网

怎么样写这个搜索SQL语句,如下
从页面传一个参数为 id = 1
数据库对应的字段为文本型,内容为 1,2,3,7,11,16,21,25
怎么让传递过来的参数与这个数组进行比较,用 like 太模糊了,因为 1 可以和 1 和11和21都是相通的

作者: friends571   发布时间: 2011-09-13

select * from 表名 where charindex(convert(varchar(8),id)+',' , '1,2,3,7,11,16,21,25')>0

作者: baideyi   发布时间: 2011-09-13

select * from tab where charindex(','+id+',',','+字段+',')>0

作者: sy_binbin   发布时间: 2011-09-13

这个在ASP中不行吧

作者: friends571   发布时间: 2011-09-13

那个是SQL语句!

作者: sy_binbin   发布时间: 2011-09-13

这个是SQL语句

作者: sy_binbin   发布时间: 2011-09-13

应该是可以的哦

作者: baideyi   发布时间: 2011-09-13

用instr()函数 就解决了。

作者: gukie   发布时间: 2011-09-13

用insrt()也不行呢,如果传递过来的参数是1 ,数据库中对应的数据为 11,12,13 那么它也是显示存在的

作者: friends571   发布时间: 2011-09-13

用Sql语句不行就获取数据库中那个数据
循环便利出来,逐一对比不就行了吗?

作者: wjr_loves   发布时间: 2011-09-13

没有其它的方法了吗

作者: friends571   发布时间: 2011-09-13

唉!!!

作者: sy_binbin   发布时间: 2011-09-13

用 instr() 和 charindex 都是提示函数未定义,用的是ACC数据库,看来只能改数据内容为文字了,用like好了

作者: friends571   发布时间: 2011-09-13

VBScript code
sql = "select * from 表名 where ','+字段+','  like '%,"&id&",%'"

作者: aspwebchh   发布时间: 2011-09-13

如果是ACCESS数据库的话,试试这样select * from tab where instr(','+id+',',','+字段+',')>0

作者: sy_binbin   发布时间: 2011-09-13