数据项包含问题,请高手指教,谢谢先!
现在有两条记录
name age sal smallinfo biginfo
blue 19 2300 01,03 01,02,03
blue 20 2300 01,04 01,02
我现在想找出biginfo里包含smallinfo的那条记录,
比如上面的第一条记录中,biginfo(01,02,03)包含smallinfo(01,03)就是满足条件的记录,第二条记录就不满足条件,我该怎么写这个sql语句呢,oracle里有没有类似的函数啊,请高手指教?非常感谢!
------解决方案--------------------select * from tab
where instr(biginfo, smallinfo)> 0
------解决方案--------------------如果值排列有顺序,如 "01,02,03 "那么可以将smallinfo中的 ", "替换成 ",% ",然后在作like操作,如biginfo like '% '|| '01,%03 '|| '% '.
如果没有顺序的话那么写个java方法了,传入smallinfo,biginfo,使用java作判断