最近笔者遇到一个需求。在数据库中有下方表格所示类型的一个列,每个值都是由ID拼接的字符串,用户希望能针对这个列做到数据检索,要求数据值只要包含传入值,即视为满足检索条件。
笔者的第一反应就是:简单!!!
二话不说立马写SQL
select t.* from TABLE_T t where instr(t.ids, '8') > 0
运行,这个时候发现结果如下:
上述的查询结果其实是不满足条件的,因为我传入一个’8’,按照正常情况应该只查询出第4条数据才对,但是因为’6,88’也包含了’8’,所以也查出来了。
想了一想,IN和LIKE肯定也满足不了需求啊。笔者开始难受,搜肠刮肚,无奈肚中没有多少知识储备,此刻我的心情是这样的:
书到用时方恨少!!!
但是万能的水友提示我,MyS