我想得到:
82961_01B04WZXQQSUGJ4YMRRT2A7TRHK_MR_2_1of1
从以下表达式
LASTNAME_FIRSTNAME_82961_01B04WZXQQSUGJ4YMRRT2A7TRHK_MR_2_1of1
有人知道我如何使用 regexp_substr 得到这个吗?
编辑
基本上我有一个字段,其中有 7 个集合,每个集合由 _ 分隔。我给出的字符串只是一个例子。我想在第二个 _ 之后检索所有内容。没有固定的字符长度,所以我不能使用 substr 函数。因此我使用了 regexp_substr。我能够通过使用简化版本逃脱
Select FILE_NAME, ( (REGEXP_SUBSTR(FILE_NAME,'[^_]+_',1,3)) ||
(REGEXP_SUBSTR(FILE_NAME,'[^_]+_',1,4)) ||
(REGEXP_SUBSTR(FILE_NAME,'[^_]+_',1,5)) ||
(REGEXP_SUBSTR(FILE_NAME,'[^_]+_',1,6)) ||
(REGEXP_SUBSTR(FILE_NAME,'[^_]+',1,7)) ) as RegExp
from tbl
这是来自 FILE_NAME 字段的更多数据
LAST_FIRST_82961_01B04WZXQQSUGJ4YMRRT2A7TRHK_MR_2_1of1
SMITH_JOHN_82961_0130BPQX9QZN9G4P5RDTPA9HR4R_MR_1_1of1
LASTNAME_FIRSTNAME_99999_01V0MU4XUQK0Y24Y9RYTFA7W1CM_MR_3_1of1