Это не опция hi-tech , но - посмотрите, поможет ли это.
t1
CTE возвращает все детали, содержащие "RuleName: ="строка длиной до 100 символов (достаточно ли она длинна?) - , последняя
SELECT
затем возвращает подстроку, которая заканчивается косой чертой
Возможны дальнейшие корректировки (не так ли?всегда "RuleName" (регистр букв), всегда ли он имеет только один пробел между этим именем и "=" и т. д.), но - может быть в порядке в качестве первого шага.
SQL> with t1 as
2 (select substr(col, instr(col, 'RuleName :=', 1, level) + 13, 100) res1
3 from a
4 connect by level <= regexp_count(col, 'RuleName :=')
5 )
6 select substr(res1, 1, instr(res1, '/') - 1) result
7 from t1;
RESULT
--------------------------------------------------------------------------------
HKG-MRG-UA-PRODUCT-CATEGORY
HKG-MRG-UA-PRODUCT-CATEGORY-PIKPAK
HKG-MRG-UA-RTN-RCPT
HKG-MRG-UA-SPECIAL-RATE-CODE
HKG-MRG-UA-SPECIAL-RATE-CODE-NA
HKG-MRG-UA-VAS-LABEL-COUNT-BASE
6 rows selected.
SQL>
Хотя, если вынужно только знать, существует ли определенное имя RuleName в этом столбце, достаточно INSTR
:
SQL> select case when instr(col, 'HKG-MRG-UA-RTN-RCPT') > 0 then 'It exists'
2 else 'It does not exist'
3 end result
4 from a;
RESULT
-----------------
It exists
SQL>