从 Oracle 中特定字符串后的字符串中提取数字 SQL

Extract a number from a string after specific string in Oracle SQL

我想从这个字符串中提取:FREQ=DAILY;BYDAY=MON,TUE,WED,THU,FRI;BYHOUR=7;BYMINUTE=0;BYSECOND=0 使用 Oracle pl/sql 在“BYHOUR=”字符串之后的数字。
它可以是 1 或 2 个字符长 (0-23)
最好使用 regex 正则表达式,但我从来没有熟练地创建它们。

谁能帮忙解释一下?

使用REGEXP_SUBSTR:

SELECT REGEXP_SUBSTR(col, 'BYHOUR=(\d{1,2})')
FROM yourTable