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

Bagaimana cara mengurangi duplikasi kode yang disebabkan oleh substring dan instring?

Saya sarankan menggunakan REGEXP_SUBSTR yang merupakan fungsi hebat untuk mencapai hasil yang Anda harapkan:

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;

Saya telah membuat dan menguji SQLFiddle . Untuk informasi lebih lanjut tentang REGEXP_SUBSTR Anda mungkin ingin membaca Dokumen 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. Bagaimana Cara Membuat Kunci Asing di Oracle SQL Developer?

  2. Bagaimana cara menghindari nilai 0 menggunakan fungsi MIN dan MAX dalam SQL?

  3. Batasan unik bersyarat dengan banyak bidang di Oracle db

  4. Mengapa Di Mana 1 <> 1 dalam kueri mengembalikan semua baris?

  5. Memanggil Python dari Oracle