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

Oracle SQL:Trả về dòng đầu tiên của chuỗi bằng regexp_substr

Biểu thức chính quy của Parado khớp với mọi thứ không phải là dấu phẩy nhiều lần theo sau bởi dấu xuống dòng. Điều này có nghĩa là nó sẽ không hoạt động đối với nguồn cấp dữ liệu dòng hoặc nếu có dấu phẩy trong văn bản.

Oracle hỗ trợ các biểu thức nhiều dòng bằng cách sử dụng m tham số khớp . Khi sử dụng chế độ này, $ khớp với cuối mỗi dòng cũng như cuối chuỗi. Bạn có thể sử dụng điều này để chỉ đơn giản là biểu thức hàng loạt để:

regexp_substr(str, '.*$', 1, 1, 'm')

Điều đó khớp với lần xuất hiện đầu tiên (dòng đầu tiên) của chuỗi khớp với bất kỳ thứ gì, theo sau là phần cuối của chuỗi, tính từ ký tự đầu tiên.

Ví dụ:

with strings as ( 
 select 'hi
         hi again' as str
   from dual
  union all
 select 'bye
         and again'
   from dual
        )
 select regexp_substr(str, '.*$', 1, 1, 'm')
   from strings


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn PL / SQL TRONG chuỗi phân cách bằng dấu phẩy

  2. Oracle:Kết nối chuỗi quá dài

  3. Sử dụng tnsnames.ora trong Oracle SQL Developer

  4. ORA-12557 TNS:không tải được bộ điều hợp giao thức

  5. Có thể truy vấn cột được phân tách bằng dấu phẩy cho một giá trị cụ thể không?