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

从给定字符串中提取子字符串,Oracle,oracle,substring,Oracle,Substring,我需要从一组给定的字符串中提取一个字符串。给出的字符串是: 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_SU

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

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;