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

Oracle:Chọn ngày giữa các phạm vi ngày bằng SQL

Hãy thử điều này.

WITH t (sdt, ldt) AS (SELECT MIN (START_DATE), MAX (END_DATE) FROM MY_DATES)
SELECT *
  FROM (    SELECT sdt + LEVEL - 1 AS dates
              FROM t
        CONNECT BY LEVEL <= ldt - sdt + 1) c
 WHERE EXISTS
          (SELECT 1
             FROM MY_DATES d
            WHERE c.dates BETWEEN START_DATE AND END_DATE);

Demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm hiểu cách thực thi một thủ tục trong Toad For Oracle

  2. Cách tiếp cận hiệu quả để điền bảng tạm thời

  3. Oracle Nhìn về phía sau Tích cực

  4. Tăng VOTE diskgroup trong ASM để nâng cấp GI 12.2

  5. Nhân bản các bản ghi để lấp đầy khoảng trống giữa các ngày