oracle查询两个字段怎么进行按顺序取出

如下图oracle查询出一个字段a的字符串为“1,2,3”,另外一个字段b为“7,8,9”,这两个字段逗号的数量相等,非常规律,而且字段b是不重复的,a字段可能重复,怎么进行按照b字段取出数字然后一一对应的把a里的数字按照顺序取出来,字段b我取9,a对应的就是3,字段b取7,那么a就是1。求解,谢谢各位。

img

你要取的数索引位置知道吗,可以用字符串截取。

首先你必须明确一点,3和9不是数据,1,2,3是一条完整的数据
你只能对数据进行筛选,不能对数据的一部分进行筛选
如果字符串非常规律,你可以用字符串截取,但是如果数字里面有的2位,有的1位,那肯定不行了
或者你可以考虑高级语言把它们先都拿到之后再转数组,不是什么事情都要sql去处理的

mysql有个 SUBSTRING_INDEX 函数,正反向用2次可以。
oracle 里可以考虑将varchar 转换成 array, 再通过数字下标来访问吧。