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

Cách lấy một phần của chuỗi khớp với biểu thức chính quy trong Oracle SQL

Một cách để làm điều đó là với REGEXP_REPLACE. Bạn cần xác định toàn bộ chuỗi dưới dạng mẫu regex và sau đó chỉ sử dụng phần tử bạn muốn làm replace string . Trong ví dụ này, ColorID là mẫu thứ ba trong toàn bộ chuỗi

SELECT REGEXP_REPLACE('product=1627;color=45;size=7'
                         , '(.*)(color\=)([^;]+);?(.*)'
                         , '\3') "colorID"  
FROM DUAL;  

Có thể có các giải pháp regex ít rắc rối hơn, nhưng giải pháp này chắc chắn hoạt động. Đây là SQL Fiddle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Những gì cần thiết để làm việc với Oracle từ Visual Studio 2010?

  2. Chuyển đổi LONG sang varchar trong Oracle

  3. Trả về một bảng trong một hàm PL / SQL

  4. Trả về câu lệnh SQL của con trỏ rõ ràng

  5. Trang chủ của Oracle 10g express không xuất hiện