Ниже приведен сценарий sql для удаления слова между словами, но он найдет последнее вхождение моего (/ hide) вместо первого вхождения. Нужна помощь, чтобы получить результат, как и ожидалось. Спасибо.
select regexp_replace('(hide)it(/hide)should be show(hide)my(/hide) text',
'^\(hide\).*\(/hide\)', '') "TESTING"
from dual;
Я ожидаю, что результат будет:
should be show text
, но фактический вывод:
text
Если мои данные находятся в одном изстолбец с типом данных clob. Как в настоящее время я использую скрипт ниже, чтобы выбрать. Например, моя таблица - test_table со столбцом desc_str с типом данных clob, внутри которого содержится значение «(скрыть) это (/ скрыть) должно быть показано (скрыть) мой (/ скрыть) текст»;
select trim(to_char(regexp_replace(desc_str,'^\(hide\).*\(/hide\)',''))) as desc
from testing_table
where OOE_FP_SS_ID = $id;