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

Jak wybrać podciąg w Oracle?

Użyłbym REGEXP_SUBSTR (dokumentacja ), z prawymi wyrażeniami regularnymi. Na przykład:

select regexp_substr('Chapter 18 Unit 10 Sect 16', 'Chapter \d*') from dual;
  --Will return: Chapter 18
select regexp_substr('Chapter 18 Unit 10 Sect 16', 'Unit \d*') from dual;
  --Will return: Unit 10
select regexp_substr('Chapter 18 Unit 10 Sect 16', 'Sect \d*') from dual;
  --Will return: Sect 16

Oczywiście, jeśli przechowujesz Chapter xx Unit yy Sect zz ciągów w tabeli, po prostu użyj tego rodzaju zapytania, aby uzyskać wiele wyników:

select regexp_substr(info_column, 'Chapter \d*') from mytable;

Możesz zastąpić \d z [0-9] lub [[:digit:]]

SQLfiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zmniejszyć tabelę temp w Oracle?

  2. Odczytywanie tekstu arabskiego z bazy danych Oracle zakodowanego w WE8ISO8859P1 przy użyciu java

  3. Konfiguracja wielu baz danych dla wersji Spring Data JPA 2.0.9

  4. Wprowadzenie do pakietów PL/SQL w bazie danych Oracle

  5. Importuj zrzut z parametrem SQLFILE nie zwraca danych wewnątrz tabeli