PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Hapus/ganti karakter khusus dalam nilai kolom?

Anda dapat menggunakan regexp_replace berfungsi untuk meninggalkan angka dan huruf saja, seperti ini:

update mytable
   set myfield = regexp_replace(myfield, '[^\w]+','');

Artinya semua yang bukan angka atau huruf atau garis bawah tidak akan diganti apa-apa (termasuk -, space, dot, comma , dll).

Jika Anda ingin juga menyertakan _ untuk diganti (\w akan meninggalkannya) Anda dapat mengubah regex menjadi [^\w]+|_ .

Atau jika Anda ingin ketat dengan karakter yang harus dihapus, gunakan:[- ]+ dalam hal ini di sini tanda hubung dan spasi.

Juga seperti yang disarankan oleh Luiz Signorelly Anda dapat menggunakan untuk mengganti semua kemunculan:

    update mytable
       set myfield = regexp_replace(myfield, '[^\w]+','','g');


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Fungsi agregat di beberapa kolom di postgres

  2. maven mulai server postgres

  3. Tidak dapat menghubungkan PostgreSQL ke basis data jarak jauh menggunakan pgAdmin

  4. Optimasi Kueri di PostgreSQL. JELASKAN Dasar-dasar – Bagian 1

  5. Gunakan string[][] dengan ngpsql