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

Làm thế nào để lưu trữ kết quả SQL trong một biến và phân tích cú pháp kết quả để xác định một mẫu có thể có?

Nếu tôi hiểu đúng, bạn có thể làm như sau:

select count(*)
from (select listagg(flag) within group (order by dt) as flags
      from temp
     ) x
where not regexp_like(flags, 'HH|EE|HS|SE');

Ngoài ra, bạn có thể sử dụng lag() :

select (case when count(*) = sum(case when flag2 not in ('HH', 'EE', 'HS', 'SE')
             then 1 else 0
        end) as return_value
from (select t.*,
             (lag(flag) over (order by dt) || flag) as flag2
      from temp
     ) t;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm việc với đối tượng BLOB trong Oracle

  2. Không thể tải dữ liệu từ tệp vào bảng Oracle bằng executeMany ()

  3. Unpivot on view không hoạt động trong Oracle

  4. Loại bỏ các bản sao bằng cách sử dụng hàm LISTAGG của Oracle

  5. Cách lặp qua danh sách được phân tách trong Oracle PLSQL