Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle:Thay thế các ký tự không phải số trong một chuỗi

Bạn có thể sử dụng REGEXP_REPLACE kể từ Oracle 10:

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

Ví dụ này trả về 349471234562013 .

Các cú pháp thay thế bao gồm:

  • Các lớp ký tự POSIX:

    '[^[:digit:]]+'
    
  • Các phần mở rộng bị ảnh hưởng bởi Perl (kể từ 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. Đếm (*) không hoạt động bình thường

  2. Truy vấn để có được bản ghi gần đây nhất và (trong trường hợp quan hệ) với giá trị hoặc tỷ lệ phần trăm cao hơn theo thẻ và dịch vụ

  3. Sự cố xây dựng cx_Oracle - libclntsh.so.11.1 => không tìm thấy

  4. Java Multicast Time To Live luôn là 0

  5. Tổng số Rolling hoặc Running của Oracle theo tháng