sql >> データベース >  >> RDS >> Oracle

サブストリングとインストリングによって引き起こされるコードの重複を減らす方法は?

    REGEXP_SUBSTRを使用することをお勧めします これは、期待される結果を達成するための優れた機能です:

    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;
    

    SQLFiddle を作成してテストしました 。 REGEXP_SUBSTRの詳細については OracleDocs を読むことをお勧めします。 。



    1. System.Data.OracleClientには、Oracleクライアントソフトウェアバージョン8.1.7が必要です。

    2. PostgreSQLで日付から週番号を抽出する方法

    3. 1つのmysql_query()クエリでのPHPの複数のMYSQLコマンド

    4. ストレージバックエンドはDatomicにどのように影響しますか?