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

Sådan tilføjes et specialtegn i Oracle SQL, når der findes et nøjagtigt match i kolonnen

I Oracle REGEXP , der er ingen \b mønster, der matcher ordgrænser. En almindeligt brugt løsning ser sådan ud.

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

DEMO

Dette søger efter ordet guld i begyndelsen af ​​strengen, omgivet af et mellemrum på hver side, enden af ​​strengen eller et ikke-ord-tegn (såsom ? eller -). \1,\2,\3 repræsenterer de tegn, der matches inden for 1., 2. og 3. parentes.



  1. Tabel med navnet 'like' i MySQL

  2. Hvornår returneres forbindelser til forbindelsespuljen med Spring JPA (Hibernate) Entity Manager?

  3. Gratis Oracle-databasemiljø eller prøveversion

  4. PHP/MySQL Like-knap