【发布时间】:2019-11-08 00:29:49
【问题描述】:
我需要从冒号之后和空格之前的表列中获取子字符串。子字符串的长度可以变化,但冒号之前和空格之后的数据长度是恒定的。
因此,我的表格列中名为“主题”的数据由 5 个单词组成,紧随其后的是一个冒号,紧随其后的是我需要的子字符串(长度可能不同),然后是一个空格和一个日期。我需要的子字符串是课程名称。示例:
即将到来的课程到期付款:FIN/370T 11/26/2019
即将到来的课程的付款到期:BUS/475 11/26/2019
即将到来的课程的付款到期:ADMIN9/475TG 11/26/2019
我尝试使用 REGEXP 函数和 REGEXP_SUBSTR(COLUMN_NAME,'[^:]+$') 来获取冒号之后的所有内容,并使用 REGEXP_SUBSTR(COLUMN_NAME, '[^ ]+' , 1 , 5 ) 来获取之前的数据最后一个空格,但我需要将它们组合起来。
我尝试了以下方法:
select
REGEXP_SUBSTR(SUBJECT,'[^:]+$') COURSE_ID
from TABLE
Result:
FIN/370T 11/26/2019
还有这个:
select
REGEXP_SUBSTR (SUBJECT, '[^ ]+' , 1 , 5 ) COURSE_ID2
from TABLE
Result:
Course:FIN/370T
我需要输出返回 FIN/370T
【问题讨论】: