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

Oracle pobiera wszystkie dopasowane wystąpienia z kolumny

możesz wypróbować to zapytanie.

 with test as(
  select 'ABC12345, DE22222' as JOB_Description from DUAL union
  select 'Please help to repair ABC12345, DE22222' as JOB_Description from DUAL 
)
SELECT REGEXP_SUBSTR(JOB_Description, '(ABC|DE)([[:digit:]]){5}', 1, LEVEL) AS substr
FROM test
CONNECT BY LEVEL <= REGEXP_COUNT(JOB_Description, '(ABC|DE)([[:digit:]]){5}')
  AND PRIOR JOB_Description = JOB_Description
  AND PRIOR DBMS_RANDOM.VALUE IS NOT NULL

Wynik:

ABC12345
DE22222
ABC12345
DE22222

Dobre wyjaśnienie dwóch ostatnich wierszy można znaleźć tutaj




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Korzystanie z usługi internetowej i wstawianie CLOB przy użyciu Node.js do tabeli bazy danych Oracle

  2. Używanie klauzuli IN z ciągiem oddzielonym przecinkami z wyniku funkcji replace() w Oracle SQL

  3. Jak w SQL mogę wygenerować każdą możliwą unikalną kombinację 5!56?

  4. Pobierz i odbierz zbiorczo z REF CURSOR zwróconego w ramach procedury

  5. Po upuszczeniu tabela nadal istnieje