关于oracle使用find_in_set函数
    		       		warning:
    		            这篇文章距离上次修改已过432天,其中的内容可能已经有所变动。
    		        
        		                
                在Oracle中,FIND_IN_SET函数并不是内置函数,它是MySQL数据库中的函数,用于在逗号分隔的字符串列表中查找字符串。在Oracle中,你可以使用INSTR函数来实现类似的功能。
以下是一个使用INSTR函数的例子,它模拟了FIND_IN_SET的行为:
假设我们有一个逗号分隔的字符串列表 'a,b,c',我们想要找出字符串'b'在该列表中的位置。
在MySQL中,你会这样写:
SELECT FIND_IN_SET('b', 'a,b,c');这将返回2,因为字符串'b'是第二个(从1开始计数)逗号分隔的字符串。
在Oracle中,你可以这样写:
SELECT INSTR('a,b,c', 'b') - INSTR('a,b,c', ',') AS position
FROM dual;这同样会返回2,因为INSTR('a,b,c', 'b')返回'b'第一次出现的位置(6),而INSTR('a,b,c', ',')返回第一个逗号出现的位置(2),差值减1得到元素个数。
请注意,dual是Oracle中的虚拟表,可以用来进行此类计算。
评论已关闭