锁定老帖子 主题:like 模糊查询
精华帖 (1) :: 良好帖 (0) :: 新手帖 (15) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-04-26
最后修改:2010-08-26
逗号,在sql中like中不需要转义,但是如果 用传统的like '%111%',显然不合适,这样虽然111不存在但是依然能查到该条记录。
最近又遇到这样的问题:
一份合同流转中需要选择多个业务处理部门的code ,在合同表里有这个字段 BUSINESS_DEPT_ID
这个字段的数据存储是这样的 205000000;206000000;207000000;208000000;
在合同查询的时候需要匹配 选择的业务部门 使用下面语句 用的是DB2数据库 select c.BUSINESS_DEPT_ID from CMM_CONTRACT c where c.BUSINESS_DEPT_ID||';' like '%206000000;%'
虽然违反了第三范式不过查询使用还是很方便的 如果因此再建张表的话那会很麻烦的 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-04-27
学习了,这种小细节真的容易忽视呢,谢谢LZ。。
|
|
返回顶楼 | |
发表时间:2010-04-27
嗯,楼主总结的不错,学习了
|
|
返回顶楼 | |
发表时间:2010-04-27
这种细节挺烦人的 lz做的不错
|
|
返回顶楼 | |
发表时间:2010-04-27
不错,考虑得很周到,不过这样效率比较低,记录数太多会很慢。
|
|
返回顶楼 | |
发表时间:2010-04-27
myy 写道 不错,考虑得很周到,不过这样效率比较低,记录数太多会很慢。
有什么更好的解决办法没啊? |
|
返回顶楼 | |
发表时间:2010-04-27
select * from Table where ','+columA+',' like '%,111,%'
不太明白这句话的意思,columA应该是字段名吧,我前后加单引号会查询出结果吗? |
|
返回顶楼 | |
发表时间:2010-04-27
这样设计库表似乎不太合理, 第一范式都不满足。
|
|
返回顶楼 | |
发表时间:2010-04-28
现在才明白什么是细节,像我的话,就直接like!
|
|
返回顶楼 | |
发表时间:2010-04-28
在oracle中不能用? 还是我看错了?
|
|
返回顶楼 | |