大虾们帮个忙!!!(解决者高分相送)

linwd 2002-07-22 10:35:13
问题是:
数据库里的一个字段(字符串),其格式为数字之间加“:”号分隔,如(1:2:3:4)

现在我要根据这个字段构建一个sql语句来查询

查询依据如下:
输入一个字符串如“1:2:3:4:5”
查找出所有数据库字段值为该字符串的子集(指字符串里的数字)

如过不直接用sql语句是否还有其他好办法。
...全文
3 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
linwd 2002-07-22
字段里的值不是单独的一个值如(“1”,“2”,“3”)
他是个字符串可能:
“1:2:3”
“2:4:6”
“1:3”
“5”

的多种组合;所以以上的方法不奏效。可能还没理解我的意思:
如给出的字符串为:“2:3:5:7”
则字段值为:
“2:3”
“2:7”
“3:5”
“2:5:7”
....
都符合要求,从集合角度讲就是子集的关系。
回复
ronaltang 2002-07-22
dim Nsting,Nstr
if request("nstring")<>"" then
Nstring=request("nstring")
Nstr=split(Nstring,":",-1,1)
sql="select * from tablename where fieldname="&Nstr(0)
for i=1 to ubound(nstr)
sql=sql&" or fieldname="&nstr(i)
next
end if
\\\\\\\\\\\\\\\\\\\\\\\\\\
sql便是你要的查询语句
回复
blackcatiii 2002-07-22
用charindex,不过你要在字符串最后补个冒号“:”

select * from table1 where charindex(fieldname+':','1:2:3:4:5:')>0
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告