sql >> Databáze >  >> RDS >> Oracle

Jak připojit speciální znak v Oracle SQL, když je ve sloupci nalezena přesná shoda

V Oracle REGEXP , neexistuje žádný \b vzor, ​​který odpovídá hranicím slov. Běžně používané řešení vypadá asi takto.

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

DEMO

Toto vyhledá slovo gold na začátku řetězce, obklopené mezerou na obou stranách, na konci řetězce nebo neslovným znakem (jako je ? nebo -). \1,\2,\3 představují znaky odpovídající v 1., 2. a 3. závorce.



  1. Implementace jediného přihlášení pro tři webové stránky v PHP?

  2. mysql uložená procedura s INTO OUTFILE

  3. PHP MYSQL:způsob, jak vypsat tabulku ve vzestupném pořadí

  4. SQL efektivní algoritmus generování rozvrhu