Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak zmniejszyć duplikację kodu spowodowaną podciągiem i ciągiem?

Proponuję użyć REGEXP_SUBSTR co jest świetną funkcją do osiągnięcia oczekiwanych rezultatów:

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;

Stworzyłem i przetestowałem SQLFiddle . Więcej informacji o REGEXP_SUBSTR możesz przeczytać Dokumenty 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. Niska wydajność w Hibernate + Java, ale szybka, gdy używam TOAD z tym samym natywnym zapytaniem Oracle

  2. konwertowanie obrazu w pamięci do Blob

  3. Utwórz tabelę Oracle z włączonym automatycznym zatwierdzaniem

  4. Jak wyświetlić wszystkie tabele w Oracle?

  5. Oracle usuwa duplikaty na podstawie warunku