मेरा सुझाव है कि 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
के बारे में अधिक जानकारी के लिए आप Oracle Docs
पढ़ना चाहेंगे ।