我有一些这样的记录:
1995,no.4-6; 1996年,no.1,4
1977年,第1-2期; 1978年,no.1-3; 1979年,no.1-4
我想在那些记录中提取最后出现的年份。例如。 1996年第一次创纪录,1979年第二次创纪录。我用
regexp_substr(记录,' \ d {4}')
但我只在每张唱片中获得第一个出现的年份。我怎么能得到最后一年?
答案 0 :(得分:0)
答案 1 :(得分:0)
它应该是一个简单的SUBSTR
和INSTR
实现。
SQL> WITH DATA AS
2 ( SELECT q'[1995,no.4-6;1996,no.1,4]' str FROM dual
3 UNION ALL
4 SELECT q'[1977,no.1-2;1978,no.1-3;1979,no.1-4]' FROM dual
5 )
6 SELECT SUBSTR(str, instr(str, ';', -1, 1)+1, 4) lst_yr
7 FROM DATA
8 /
LST_
----
1996
1979
SQL>