Oracle
 sql >> Baza danych >  >> RDS >> Oracle

otrzymanie argumentu błędu '0' jest poza zakresem

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

zwraca 0 (wskazując, że poszukiwany podciąg nie został znaleziony) i jeśli spróbujesz to zrobić:

 REGEXP_SUBSTR( value, regex, 0 )

Pojawi się błąd:

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

Zamiast tego możesz użyć:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wykonaj natychmiast w ramach procedury Oracle

  2. Różnica między SELECT DISTINCT a SELECT UNIQUE

  3. pobrać parametr z procedury składowanej?

  4. Wiele pól Oracle w Select IN Parameter

  5. Nauka Oracle, ustawianie wartości logicznych na podstawie daty