sql >> Databasteknik >  >> RDS >> Oracle

att få felargumentet '0' är utanför intervallet

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

returnerar 0 (indikerar att understrängen du söker efter inte hittades) och om du försöker göra:

 REGEXP_SUBSTR( value, regex, 0 )

Du kommer att få felet:

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

Istället kan du använda:

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
)



  1. Expdp från Oracle RAC-miljö

  2. PHP-Mysql-tabellen går med från olika värdar

  3. postgres känner inte igen temptabellen i funktion

  4. Vad är det dubbla bordet i Oracle?