sql >> Databáze >  >> RDS >> Oracle

získání chybového argumentu '0' je mimo rozsah

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

vrací 0 (což znamená, že hledaný podřetězec nebyl nalezen) a pokud se o to pokusíte:

 REGEXP_SUBSTR( value, regex, 0 )

Zobrazí se chyba:

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

Místo toho můžete použít:

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. Odeberte VŠECHNY nebo konkrétní netisknutelný znak ze sloupce v mysql

  2. jak nastavit výchozí hodnotu pro typ textu v mysql

  3. SQL Server:sys.master_files vs. sys.database_files

  4. Jak objednat odlišné n-tice v dotazu PostgreSQL