如表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语句怎么写?
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 这样子。应该是没问题的 追问 你有没有想过charindex(‘2’,id)>0会把不该查出来的第二条记录和第四条记录给查出来了呢 追答 这个倒是没考虑到等等。。。。让我想想把 这样子写看是否可行 len(substring (@t,charindex('2',@t),charindex(',',@t)-1))=len('2') and charindex('2',@t)0你试试
反过来想,2,33,11,14,15,22这一字符串中任意数字,在某条记录里。select *from awhere instr(id,'2')>0or instr(id,'33')>0,or instr(id,'11')>0...........