sql中的in的问题
'比如Request( "id ") = 1,2,3,4,5
sql= "select * from tag where TagID in ( " & Request( "id ") & ") "
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
这样可以检索出 ID 等于 1或者2....的数据
现在有个问题就是 我 TagID 字段里的数据 是1,2,3,4,5这样
而 request 过来的数据是一个 比如 1
如何实现 检索 数据库中 TagID 字段 中包含 数字 1 的所有记录呢?
也就是跟引号上面反过来检索的意思 谢谢!
------解决方案--------------------select * from tag where ( ', '+rtrim(@id)+ ', ', ', '+TagID+ ', ')> 0
------解决方案--------------------sql= "select * from tag where CharIndex( ', ' + Cast(TagID As Varchar) + ', ', ', ' + ( " & Request( "id ") & " + ', ') > 0 "
------解决方案--------------------假定:
Request( "id ") = 2
TagID字段的值为 1,2,3,4这样的格式
sql= "select * from tag where ', ' + TagID + ', ' like '%, " & Request( "id ") & ",% ' "
这样就可以实现
格式为:
select * from tag where ', ' + TagID + ', ' like '%,2,% ' "
其中,2,是为了解决1,11,111,这样的问题.