instr (string1, string2, [start_position], [nth_appearance])
在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
string1 被搜索的字符串
string2 希望搜索的字符串
start_position 搜索的开始位置,默认为1
nth_appearance 希望搜索的字符串的出现的位置,默认为1
var str='小李'
select decode(instr(str,',',1,1),0,str,null) as mdlist
From dual
--结果--
mdlist
小李
var str='小李,小张'
select decode(instr(str,',',1,1),0,str,decode(instr(str,',',instr(str,',',1,1),2),0,str,null))
as mdlist
From dual
--结果--
mdlist
小李,小张
var str='小李,小张,小王......'
select decode(instr(str,',',1,1),0,str,
decode(instr(str,',',
instr(str,',',1,1),2),0,str,
substr(str,1,instr(str,',',
instr(str,',',1,1),2)-1))) as mdlist
From dual
--结果--
mdlist
小李,小张
select decode(instr(str,',',1,1),0,str,
decode(instr(str,',',
instr(str,',',1,1),3),0,str,
substr(str,1,instr(str,',',
instr(str,',',1,1),2)-1))) as mdlist
From dual
--结果--
mdlist
小李,小张,小王