Предполагая, что точные данные выборки приведены с одним целевым шаблоном "m=<value wanted>"
на строку, вы можете использовать этот пример REGEXP_REPLACE ():
with tbl(id, str) as (
select 1, '<a href=" https://link; m=date1>Link</a>' from dual union all
select 2, '<a href=" https://link; m=date2>Link</a>' from dual union all
select 3, '<a href=" https://link; m=>Link</a>' from dual union all
select 4, NULL from dual
)
select id, regexp_replace(str, '.*m=(\w+).*', '\1') col1
from tbl;
Совпадение "m="
в любом месте строки и сохранить один или несколькослово символов, которое следует в запоминающейся группе. Верните первую запомненную группу. Обратите внимание, что если шаблон не найден, будет возвращена входная строка. Вы можете сделать так, чтобы он возвращал NULL (в случае строки 3), если группа соответствует нулю или большему количеству слов: '.*m=(\w*).*'
. Тщательно продумайте, что вы хотите вернуть, если совпадение не найдено.