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

Đếm ngày giữa hai ngày, trừ ngày cuối tuần (chỉ MySQL)

Chỉ cần thử nó bằng một hàm đơn giản:

CREATE FUNCTION TOTAL_WEEKDAYS(date1 DATE, date2 DATE)
RETURNS INT
RETURN ABS(DATEDIFF(date2, date1)) + 1
     - ABS(DATEDIFF(ADDDATE(date2, INTERVAL 1 - DAYOFWEEK(date2) DAY),
                    ADDDATE(date1, INTERVAL 1 - DAYOFWEEK(date1) DAY))) / 7 * 2
     - (DAYOFWEEK(IF(date1 < date2, date1, date2)) = 1)
     - (DAYOFWEEK(IF(date1 > date2, date1, date2)) = 7);

Kiểm tra:

SELECT TOTAL_WEEKDAYS('2013-08-03', '2013-08-21') weekdays1,
       TOTAL_WEEKDAYS('2013-08-21', '2013-08-03') weekdays2;

Kết quả:

| WEEKDAYS1 | WEEKDAYS2 |
-------------------------
|        13 |        13 |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CURRENT_DATE / CURDATE () không hoạt động dưới dạng giá trị DATE mặc định

  2. MySQL:câu lệnh SELECT có phân biệt chữ hoa chữ thường không?

  3. MySQL không thể thêm ràng buộc khóa ngoại

  4. Cách trả về danh sách các bộ ký tự có sẵn trong MySQL

  5. Làm thế nào để cài đặt mô-đun Python MySQLdb bằng pip?