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

Làm thế nào để giảm sự trùng lặp mã gây ra bởi chuỗi con và phiên bản?

Tôi khuyên bạn nên sử dụng REGEXP_SUBSTR đó là một chức năng tuyệt vời để đạt được kết quả mong đợi của bạn:

SELECT
    l.DBKEY,
    l.DBTIME,
    REGEXP_SUBSTR(l.DBUSER, '[^$]+$')                 AS USERID,
    REGEXP_SUBSTR(l.DESCRIPTION, '[0-9]{4}')          AS ERROR_NUM,
    REPLACE(REGEXP_SUBSTR(l.DESCRIPTION, 'Planogram:[^\]+\\n'), '\n', '')
                                                      AS DESCRIPTION,
    REGEXP_SUBSTR(l.DESCRIPTION, '\d+$')              AS SEVERITY
FROM
    EVENT_LOG l;

Tôi đã tạo và thử nghiệm một SQLFiddle . Để biết thêm thông tin về REGEXP_SUBSTR bạn có thể muốn đọc Tài liệu Oracle .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết nối Oracle với SQL Server qua một kết nối an toàn

  2. Oracle 10g:Ước tính giá trị cột MIN / MAX

  3. chọn N hàng trên cùng từ một bảng

  4. Tự động xoay bảng Oracle

  5. Làm cách nào để xuất dữ liệu với Oracle SQL Developer?