Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да добавите специален знак в Oracle SQL, когато се намери точно съвпадение в колоната

В Oracle REGEXP , няма \b шаблон за съвпадение на границите на думите. Често използвано решение изглежда по следния начин.

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

ДЕМО

Това търси думата злато в началото на низа, заобиколена от интервал от двете страни, края на низа или знак, който не е дума (като ? или -). \1,\2,\3 представляват знаците, съответстващи в 1-ва, 2-ра и 3-та скоби.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Формуляри/приложения на Oracle в Internet Explorer 8 с помощта на JInitator

  2. Обратно проектиране на модел на данни с помощта на Oracle SQL Developer

  3. мога ли да поддържам една сесия на Oracle от два oci клиента?

  4. Резервиране на Oracle RAC N+1

  5. Sql loader - вторият заграден низ не присъства