Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да избера подниз в oracle?

Бих използвал REGEXP_SUBSTR (документация ), с правилни регулярни изрази. Например:

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

Разбира се, ако съхранявате Chapter xx Unit yy Sect zz низове в таблицата, тогава просто използвате този вид заявка, за да получите множество резултати:

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

Можете да замените \d с [0-9] или [[:цифра:]]

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. как да извикам функцията на оракул в mybatis

  2. Използване на функция за агрегиране за филтриране на запис въз основа на MIN времево клеймо

  3. sql заявка за сравняване на резултатите от следните заявки

  4. Подредете редовете с помощта на колони от по-малък брой null до никакъв брой null

  5. ORA-01840:входната стойност не е достатъчно дълга за формат на дата в Oracle Вмъкване с помощта на Select