如何在SQL查询语句中查询部分数组匹配?
如表A中有一个名为id的字段,有N条记录:第一条,id=2,3,12第二条:id=6,22第三条:id=14第四条:id=22,11,55......我要查找任何包含有2...
如表A中有一个名为id的字段,有N条记录:
第一条,id=2,3,12
第二条:id=6,22
第三条:id=14
第四条:id=22,11,55
......
我要查找任何包含有
2,33,11,14,15,22这一字符串中任意数字的记录
如以上记录中第一条含有2,第三条含有14,第四条含有11和22,这三条记录将被查找出来,请问SQL语句怎么写? 展开
第一条,id=2,3,12
第二条:id=6,22
第三条:id=14
第四条:id=22,11,55
......
我要查找任何包含有
2,33,11,14,15,22这一字符串中任意数字的记录
如以上记录中第一条含有2,第三条含有14,第四条含有11和22,这三条记录将被查找出来,请问SQL语句怎么写? 展开
2个回答
展开全部
select * from a where charindex(‘2’,id)>0 or charindex(‘33’,id)>0 or charindex(‘11’,id)>0
or charindex(‘14’,id)>0 or charindex(‘15’,id)>0 or charindex(‘22’,id)>0
这样子。应该是没问题的
or charindex(‘14’,id)>0 or charindex(‘15’,id)>0 or charindex(‘22’,id)>0
这样子。应该是没问题的
追问
你有没有想过charindex(‘2’,id)>0会把不该查出来的第二条记录和第四条记录给查出来了呢
追答
这个倒是没考虑到等等。。。。让我想想把 这样子写看是否可行
len(substring (@t,charindex('2',@t),charindex(',',@t)-1))=len('2') and charindex('2',@t)0
你试试
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询