Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm thế nào để chọn chuỗi con trong oracle?

Tôi sẽ sử dụng REGEXP_SUBSTR ( tài liệu ), với các biểu thức chính quy. Ví dụ:

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

Tất nhiên nếu bạn lưu trữ Chapter xx Unit yy Sect zz chuỗi trong bảng, sau đó bạn chỉ cần sử dụng loại truy vấn này để nhận được nhiều kết quả:

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

Bạn có thể thay thế \d với [0-9] hoặc [[: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. Oracle SQL GROUP BY không phải là GROUP BY biểu thức Trợ giúp

  2. Làm cách nào để kiểm tra xem một cột có tồn tại hay không trước khi thêm nó vào bảng hiện có trong PL / SQL?

  3. UNPIVOT trên một số cột không xác định

  4. Lỗi rút phích cắm PDB ORA-17528

  5. Trả lại con trỏ tham chiếu Oracle và thêm nhiều kết quả