Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Cara menambahkan karakter khusus di Oracle SQL ketika kecocokan persis ditemukan di kolom

Di Oracle REGEXP , tidak ada \b pola untuk mencocokkan batas kata. Solusi yang umum digunakan terlihat seperti ini.

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

DEMO

Ini mencari kata emas di awal string, dikelilingi oleh spasi di kedua sisi, akhir string, atau karakter non-kata (seperti ? atau -). \1,\2,\3 mewakili karakter yang cocok dalam tanda kurung 1, 2 dan 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. Hubungkan Sys sebagai Sysdba :Hak istimewa tidak mencukupi

  2. Menggunakan Alias ​​​​dalam kueri yang mengakibatkan perintah tidak berakhir dengan benar

  3. cadangan sederhana oracle rman

  4. Oracle 10g:Ekstrak data (pilih) dari XML (Jenis CLOB)

  5. Urutan eksekusi kondisi dalam klausa 'di mana' SQL