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

số động của điều kiện where trong oracle sql

Hãy thử

select something
  from somewhere
 where someColumn in (select regexp_substr('abc-def-xyz','[^-]+', 1, level) from dual
                     connect by regexp_substr('abc-def-xyz', '[^-]+', 1, level) is not null);

Để tổng quát hóa (xem xét các trường của bạn được phân tách bằng "-")

select something
  from somewhere
 where someColumn in (select regexp_substr(variable,'[^-]+', 1, level) from dual
                     connect by regexp_substr(variable, '[^-]+', 1, level) is not null);

Về cơ bản đầu ra của truy vấn con được hiển thị bên dưới -

  SQL> select regexp_substr('abc-def-xyz','[^-]+', 1, level) value from dual
      connect by regexp_substr('abc-def-xyz', '[^-]+', 1, level) is not null;

VALUE                            
-------------------------------- 
abc                              
def                              
xyz  


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ASP.net MVC và tổng hợp kết nối với Oracle, cho phép nhiều kết nối hơn được chỉ định trong Kích thước nhóm tối đa

  2. Làm thế nào để khai báo các tham số đầu vào-đầu ra trong thủ tục / chức năng được lưu trữ của máy chủ SQL?

  3. oci_bind_by_name để làm gì?

  4. thao tác thao tác dữ liệu không hợp pháp trên chế độ xem này xảy ra trong bảng người dùng

  5. Thêm tên giản đồ vào thực thể trong dữ liệu Spring?