Мне нужно использовать REGEXP_REPLACE, чтобы сделать следующее:
If word starts with 'ABCD' then replace first four(4) chars with 'FFFF' else If word starts with 'XYZ' then replace first three(3) chars with 'GGG'
Как использовать REGEXP_REPLACE для условной замены?
Вы можете использовать case и строковые операции:
case
select (case when word like 'ABCD%' then 'FFFF' || substr(word, 5) when word like 'XYZ%' then 'GGG' || substr(word, 4) else word end) as new_word
Если это должно быть REGEXP_REPLACE, вам придется объединить два вызова функций:
REGEXP_REPLACE
REGEXP_REPLACE( REGEXP_REPLACE(word,'^ABCD','FFFF') ,'^XYZ', 'GGG')
Но я бы предпочел подход Гордона case ...