Oracle
 sql >> Database >  >> RDS >> Oracle

Come aggiungere un carattere speciale in Oracle SQL quando viene trovata una corrispondenza esatta nella colonna

In Oracle REGEXP , non c'è \b modello per abbinare i confini delle parole. Una soluzione comunemente usata assomiglia a questa.

SELECT id,
       REGEXP_REPLACE (msg_info, '(^|\s|\W)(gold)($|\s|\W)', '\1~\2\3', 1,0,'i')
FROM   yourtable;  

DEMO

Questo cerca la parola gold all'inizio della stringa, circondata da uno spazio su entrambi i lati, la fine della stringa o un carattere diverso da una parola (come ? o -). \1,\2,\3 rappresentano i caratteri abbinati tra la prima, la seconda e la terza parentesi.