oracle中一个字段是RECIEVE_PEOPLE VARCHAR2(1000) Y ,其中这个字段为用逗号分隔
如这个字段有值如:117,1638233
我怎么用sql语句来判断一个字符串在不在这个字段中呢
意思就是说我想查询如下
select * from table where '117' in RECIEVE_PEOPLE;
但是这个查不全,只能显示RECIEVE_PEOPLE为117的记录,
那么有没有其他的方法可以实现只要在这个字段中有这样的值,就可以显示该记录呢
如这个字段有值如:117,1638233
我怎么用sql语句来判断一个字符串在不在这个字段中呢
意思就是说我想查询如下
select * from table where '117' in RECIEVE_PEOPLE;
但是这个查不全,只能显示RECIEVE_PEOPLE为117的记录,
那么有没有其他的方法可以实现只要在这个字段中有这样的值,就可以显示该记录呢
解决方案 »
- oracle.exe突然进程cpu99%了, Fatal NI connect error 12537
- 300w+ 表 与 3000w+ 简单两表联查,物化视图问题。
- 有没有经典的oracle数据库压力性能测试sql段子?
- 一个sql语句的写法问题
- 向各位大大请教一个问题
- a字段值是:可能为空或数字或英语字母及非字符
- 要搞plsql了,大家有什么好的学习方法或者好的学习资源推荐?
- 我写的存储过程出错了,请各位襄助!答者给分啦
- 有关于Oracle存储过程的问题
- rlwrap安装报错main.c:252: Error: Incorrect register `%r12' used with `l' suffix
- Oracle union效率
- 请问帮我解决下ORACLE导数的问题.具体见内容!
如果RECIEVE_PEOPLE='1171'怎么办select * from table where ','||RECIEVE_PEOPLE||',' like '%,117,%'
二楼提供的做法,数据记录如果比较大的时候,一个简单的查询就可能需要很常的时间才会有返回结果。做法三:使用全文索引,这个应该是在同等条件下,性能最好的。参考:Oracle中文全文索引
把两种合起来select * from table where instr(','||RECIEVE_PEOPLE||',',117,')>0