Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como anexar um caractere especial no Oracle SQL quando uma correspondência exata é encontrada na coluna


No Oracle REGEXP , não há \b padrão para corresponder aos limites das palavras. Uma solução comumente usada se parece com isso.
SELECT id,
       REGEXP_REPLACE (msg_info, '(^|\s|\W)(gold)($|\s|\W)', '\1~\2\3', 1,0,'i')
FROM   yourtable;  

DEMO

Isso procura a palavra gold no início da string, cercada por um espaço em ambos os lados, no final da string ou por um caractere que não seja uma palavra (como ? ou -). \1,\2,\3 representam os caracteres combinados dentro do 1º, 2º e 3º parênteses.