В Oracle REGEXP
, няма \b
шаблон за съвпадение на границите на думите. Често използвано решение изглежда по следния начин.
SELECT id,
REGEXP_REPLACE (msg_info, '(^|\s|\W)(gold)($|\s|\W)', '\1~\2\3', 1,0,'i')
FROM yourtable;
Това търси думата злато в началото на низа, заобиколена от интервал от двете страни, края на низа или знак, който не е дума (като ? или -). \1,\2,\3
представляват знаците, съответстващи в 1-ва, 2-ра и 3-та скоби.