从给定字符串中提取子字符串,Oracle

Substring extraction from a given string, Oracle

我需要从一组给定的字符串中提取一个字符串。给出的字符串是:

Data string 1 : LOAD TEST ABC,2146520,9856452147
Data string 2 : LOAD TEST:804749:9756325874

这里,字符串集有一个静态值“LOAD TEST ABC”和“LOAD TEST”,这里我需要从中间的2146520和804749中提取字符串作为Id。

您可以在这里使用 REGEXP_SUBSTR 和捕获组:

SELECT col, REGEXP_SUBSTR(col, '[,:](.+?)[,:]', 1, 1, NULL, 1) AS middle_num
FROM yourTable;

Demo