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

Regex ghi lại các từ đầu tiên trước ký tự sau đó - oracle

Bạn có thể sử dụng

SELECT
  TRIM(',' FROM REGEXP_REPLACE('TType=SEND|Status=OK|URL=min://j?_a=3&ver=1.1|day=3',
                '=[^|]+($|\|)', ',')) "TType"    
  FROM DUAL

REGEXP_REPLACE sẽ tìm và thay thế bằng dấu phẩy cho tất cả các lần xuất hiện của =[^|]+($|\|) mẫu phù hợp với

  • = - a = char
  • [^|]+ - một hoặc nhiều ký tự khác với |
  • ($|\|) - cuối chuỗi hoặc | .

Xem bản trình diễn trực tuyến .



  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 xạ thuộc tính hướng dẫn cho Oracle trong mã khung thực thể đầu tiên

  2. Cách tách một chuỗi theo thứ tự với một chuỗi được phân tách bằng dấu phẩy và (có thể) các trường trống giữa dấu phẩy

  3. SQL Oracle LEFT JOIN và lỗi SUBQUERY:ORA-00905:thiếu từ khóa

  4. làm cách nào tôi có thể lấy ra một tham số là varchar2 trong oracle

  5. Hiệu suất:xếp hạng () so với truy vấn phụ. Truy vấn phụ có chi phí thấp hơn?