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

Oracle:Mengganti karakter non-numerik dalam sebuah string

Anda dapat menggunakan REGEXP_REPLACE sejak Oracle 10:

SELECT REGEXP_REPLACE('+34 (947) 123 456 ext. 2013', '[^0-9]+', '')
FROM DUAL

Contoh ini mengembalikan 349471234562013 .

Sintaks alternatif meliputi:

  • Kelas karakter POSIX:

    '[^[:digit:]]+'
    
  • Ekstensi yang dipengaruhi Perl (sejak Oracle 11):

    '\D+'
    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pesan kesalahan variabel pengikatan buruk di pemicu

  2. Sql - Menggabungkan baris jika tanggal terhubung

  3. Masalah saat membandingkan hasil to_char(myDate, 'DAY') dengan string

  4. Kesalahan ORA 12514:kesalahan pendengar TNS

  5. Bagaimana menghindari kesalahan mutasi tabel