sql >> Database >  >> RDS >> Oracle

Een speciaal teken toevoegen in Oracle SQL wanneer een exacte overeenkomst in de kolom wordt gevonden

In Oracle REGEXP , er is geen \b patroon dat overeenkomt met woordgrenzen. Een veelgebruikte oplossing ziet er ongeveer zo uit.

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

DEMO

Hiermee wordt gezocht naar het woord goud aan het begin van de tekenreeks, omgeven door een spatie aan weerszijden, het einde van de tekenreeks of een niet-woordteken (zoals ? of -). \1,\2,\3 vertegenwoordigen de tekens die overeenkomen tussen de 1e, 2e en 3e haakjes.



  1. Gerangschikte invoerwaarde voegt lege record in mysql in

  2. Hoe Acos() werkt in PostgreSQL

  3. Null weergeven voor kolom als er geen rij is gevonden

  4. Ik wil controleren of het record bestaat en als het niet bestaat, wil ik dat record in de database invoegen met behulp van golang