sql >> Database >  >> RDS >> Oracle

Hoe codeduplicatie veroorzaakt door substring en instring te verminderen?

Ik raad aan om REGEXP_SUBSTR . te gebruiken wat een geweldige functie is om de verwachte resultaten te bereiken:

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;

Ik heb een SQLFiddle gemaakt en getest . Voor meer informatie over REGEXP_SUBSTR misschien wil je de Oracle Docs lezen .



  1. HubSpot ODBC-stuurprogramma

  2. Neo4j installeren op Ubuntu 20.04

  3. Waarom mijn pessimistische Locking in JPA met Oracle niet werkt

  4. XML-gegevens exporteren met BCP-opdracht in SQL Server