请教一个关于Select语句中IN的问题

61800985 2004-08-10 09:09:51
我在表中有个字段AcceptUid,是用来存储用户ID的(但可以存储多个,用逗号格开,例如:1,2,3 表示三个用户),这个字段的类型是字符型。我现在要在Select语句中,这样实现:Select * From AA Where '1' In(AcceptUid) ,但是这样查询出来的是不准确的,请问我该如何实现呢?谢谢!
...全文
77 11 点赞 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
61800985 2004-08-10
我通过调试,认为BubbleInDiamond(钻石里的泡泡) 所写的:select * from AA where AcceptUid like '%,num,%' or AcceptUid like 'num,%' or AcceptUid like '%,num'
是可以的。
在这里感谢大家的帮忙,谢谢!
  • 打赏
  • 举报
回复
BubbleInDiamond 2004-08-10
select * from AA where AcceptUid like '%,num,%' or AcceptUid like 'num,%' or AcceptUid like '%,num'
  • 打赏
  • 举报
回复
银狐被占用 2004-08-10
Select * From AA Where AcceptUid like'1,%'

这样写。不要前面的“%”就可以了。
  • 打赏
  • 举报
回复
blestcc 2004-08-10
建议前后都加逗号,即使只有一个1也存储,1,
  • 打赏
  • 举报
回复
61800985 2004-08-10
Select * From AA Where AcceptUid like'%1,%' 有种情况可能会产生错误的,
例如:1,2,11,20 那么我想找的是1 但他也会把11这个也找出来阿,而且最后一个20后面是没有逗号的,这样如果找的是20那么就会找不到阿。
  • 打赏
  • 举报
回复
荣之梦 2004-08-10
已阅!like
  • 打赏
  • 举报
回复
skyboy0720 2004-08-10
同意,用like
  • 打赏
  • 举报
回复
ycted 2004-08-10
你可以先把AcceptUid读出来
然后aa=split(rs("acceptuid"),",")
for i=0 to UBound(aa)
if aa(i)=1 then
response.write "找到了"
end if
next
  • 打赏
  • 举报
回复
Drowning 2004-08-10
当然不可以了in是用在数据库中存储的值在某个范围内的
如select*from tablename where item1 in('1','2','3')
你这样的情况可以这样写
Select * From AA Where AcceptUid like'%1,%'
  • 打赏
  • 举报
回复
顺子 2004-08-10
chrat( )
  • 打赏
  • 举报
回复
pipi1269 2004-08-10
select * from aa where acceptuid like '1%'
如果对2或3,可以为'%2%'('%3%')
  • 打赏
  • 举报
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-08-10 09:09
社区公告
暂无公告