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

Tính ngày lễ:số thứ bảy và chủ nhật trong truy vấn phạm vi ngày nhất định trong Oracle

Bạn có thể sử dụng MÁY PHÁT ĐIỆN ROW kỹ thuật để tạo ngày đầu tiên cho một phạm vi nhất định, sau đó chỉ đếm NGÀY THỨ BẢY và CHỦ NHẬT .

Ví dụ:truy vấn này sẽ cung cấp cho tôi tổng số các ngày thứ bảy và chủ nhật từ ngày 1 tháng 1 năm 2014 đến ngày 31 tháng 12 năm 2014 -

SQL> WITH DATA AS
  2    (SELECT to_date('01/01/2014', 'DD/MM/YYYY') date1,
  3      to_date('31/12/2014', 'DD/MM/YYYY') date2
  4    FROM dual
  5    )
  6  SELECT SUM(holiday) holiday_count
  7  FROM
  8    (SELECT
  9      CASE
 10        WHEN TO_CHAR(date1+LEVEL-1, 'DY','NLS_DATE_LANGUAGE=AMERICAN') IN ('SAT', 'SUN')
 11        THEN 1
 12        ELSE 0
 13      END holiday
 14    FROM data
 15      CONNECT BY LEVEL <= date2-date1+1
 16    )
 17  /

HOLIDAY_COUNT
-------------
          104

SQL>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bản cập nhật SQL có ảnh hưởng đến truy vấn con của nó trong quá trình chạy cập nhật không?

  2. Làm cách nào để xóa khoảng trắng khỏi truy vấn SQL * Plus?

  3. Hàm SOUNDEX () trong Oracle

  4. Cách hiển thị kết quả của một thủ tục bên ngoài nó trong Oracle

  5. Kích hoạt Oracle SQL khi cập nhật cột