oracle10g中得到一个varchar2类型字段的值为'a,b,c',怎么得到一个{a,b,c}的集合,a,b,c分别也为varchar2,让我能进行select...form...where ... in
('a','b','c')操作,操作只能在oracle中,','的数量不只2个,是动态的
('a','b','c')操作,操作只能在oracle中,','的数量不只2个,是动态的
解决方案 »
- 几道数据库设计面试题,朋友帮忙做下?
- 请问是该语句是否真的执行了?
- 经典问题:为什么rownum > 5提示未选定行,没有结果返回???
- 高手看看啊,小弟遇到问题了
- 双机热备的服务器在磁盘阵列柜中装ORACLE,切换服务器主机时Oracle数据库无法打开
- sqlcode 返回-2049是什么错?
- 散分:请问oracle中怎么设table description和field description? 在线等待,谢谢
- 请问如何对日期型字段进行模糊查询?
- 一个有意思的东东
- 如何查看oracle表的结构,如何更改oracle中表的字段名,急用
- odbc oracle driver for linux 哪有??
- oracle存储过程插入数据问题
参考:http://hi.baidu.com/wenwenxiaoxing/blog/item/419cd6ca91b01e43f21fe794.html
完全没必要....oracle有instr函数...你的in可以改写成instr,比如你要找value字段在不在'a,b,c,d'里,用 instr(value,'a,b,c,d')>0就行了...进一步,如果是'a,ab,abc,abcd'这种串,也就是说串内部的值是有包含关系的,
可以用instr( ','||value||',' , ','||a,ab,abc,abcd||',' )>0
instr( ','||value||',' , ','||'a,ab,abc,abcd'||',' )>0
判断它里面是否存在值?如果存在值那么instr(','||'a,b,c'||',',字段)>0
个人感觉sql中只能用 instr来做了,否则的话,你就只有用前台java代码来实现了!