sql >> Base de Datos >  >> RDS >> Oracle

Cómo agregar un carácter especial en Oracle SQL cuando se encuentra una coincidencia exacta en la columna

En Oracle REGEXP , no hay \b patrón para que coincida con los límites de las palabras. Una solución de uso común se parece a esto.

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

DEMO

Esto busca la palabra oro al comienzo de la cadena, rodeada por un espacio a cada lado, al final de la cadena o un carácter que no sea una palabra (como ? o -). \1,\2,\3 representan los caracteres coincidentes dentro del primer, segundo y tercer paréntesis.