Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Das Erhalten des Fehlerarguments '0' liegt außerhalb des zulässigen Bereichs

INSTR(ltrim(pn.pname),'REFERENCE ID=')

0 zurückgibt (was anzeigt, dass die Teilzeichenfolge, nach der Sie suchen, nicht gefunden wurde) und wenn Sie es versuchen:

 REGEXP_SUBSTR( value, regex, 0 )

Sie erhalten den Fehler:

ORA-01428: argument '0' is out of range

Stattdessen könnten Sie verwenden:

REGEXP_SUBSTR(
  pn.pname,
  'REFERENCE ID="(\d+)"',
  1,                      -- Start from the 1st character
  1,                      -- Find the 1st occurrence
  NULL,                   -- No flags
  1                       -- Return the contents of the 1st capturing group
)