sql >> Databáze >  >> RDS >> Oracle

Jak snížit duplicitu kódu způsobenou podřetězcem a řetězcem?

Doporučuji použít REGEXP_SUBSTR což je skvělá funkce pro dosažení očekávaných výsledků:

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;

Vytvořil jsem a otestoval jsem SQLFiddle . Další informace o REGEXP_SUBSTR možná si budete chtít přečíst Oracle Docs .



  1. Výkaz z podvojného účetnictví

  2. Jak funguje pg_sleep() v PostgreSQL

  3. Instalace MySQL-python se nezdařila se stavem ukončení 1120

  4. TypeORM QueryRunner Vyberte odlišné