我有这些文字:
${cat};${dog};
我想提取这些:
${dog}
我尝试使用instr但总是向我显示最后一个分号:
SELECT substr(field,instr(field,'$',1,2),instr(field,';',1,2)-1),...
请帮助
答案 0 :(得分:0)
该函数定义为substr(str, pos, len)
,因此您必须将第3个参数中的位置减去substr(str, pos1, pos2 - pos1)
答案 1 :(得分:0)
不确定它是否是您需要的,但我会编码:
select substr('${cat};${dog};'
,instr('${cat};${dog};',';',1,1)+1
,instr('${cat};${dog};',';',1,2)-instr('${cat};${dog};',';',1,1)-1
)
from dual;