从Oracle中的字符串中提取值

时间:2019-04-26 14:25:32

标签: oracle substr

我需要从字符串中提取某些值。

示例:1571-P003 031-OHD-SSKS-SSMO

输出:P003 031

1 个答案:

答案 0 :(得分:0)

这是一个选项,它从该字符串返回第二个和第三个 word

SQL> with test (col) as
  2    (select '1571-P003 031-OHD-SSKS-SSMO' from dual)
  3  select regexp_substr(col, '\w+', 1, 2) ||' ' ||
  4         regexp_substr(col, '\w+', 1, 3) result
  5  from test;

RESULT
--------
P003 031

SQL>

或者,另一个返回第一个-和第二个SQL> with test (col) as 2 (select '1571-P003 031-OHD-SSKS-SSMO' from dual) 3 select substr(col, instr(col, '-', 1, 1) + 1, 4 instr(col, '-', 1, 2) - instr(col, '-', 1, 1) - 1 5 ) result 6 from test; RESULT -------- P003 031 SQL> 符号之间的子字符串:

{{1}}