Question:
varchar2变量,如”eadsfsdfsadefffdef”,变量中有多个””或是其它特殊符号,现需从右解析该字符,取到最后一个””号的字节符”def”.
全程两个函数:
1)substr:
oracle的substr函数的用法
取得字符串中指定起始位置和长度的字符串 substr( string, start_position, [ length ] )
如:
substr(‘This is a test’, 6, 2) would return ‘is’
substr(‘This is a test’, 6) would return ‘is a test’
substr(‘TechOnTheNet’, -3, 3) would return ‘Net’
substr(‘TechOnTheNet’, -6, 3) would return ‘The’
其中负数表示从后往前数.
2)instr
oracle的instr函数的用法。
返回目标字符串从源字符串超始们置出现匹配个数的位置.
INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)
例:
检索’RA’ 。
INSTR(‘ORAORASQL ARARA’,’RA’) …2
检索第四个字符后面的第二个’RA’ 。
INSTR(‘ORAORASQL ARARA’,’RA’,4,2) …12
检索后面第五个字符以前的’RA’ 。
INSTR(‘ORAORASQL ARARA’,’RA’,-5,1) …5
其中负数表示从后往前匹配.
Answer:
SELECT substr(‘afcdeferdfeef’,INSTR(‘afcdeferdfeef’, ”, -1, 1)+1) “Instring” FROM DUAL