1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Phân tích chuỗi thời gian trong SQL Server

Connected

Bài tập

Tính toán ngày và năm nhuận

Một số bạn có thể đã dùng R, và ở đây chúng ta lưu ý rằng việc tính toán ngày với năm nhuận trong R cùng gói lubridate có thể rắc rối. lubridate có hai nhóm hàm: duration (khoảng thời lượng) và period (khoảng thời kỳ).

lubridate::ymd(20120229) - lubridate::dyears(4) --> 2008-03-01, kết quả này sai.

lubridate::ymd(20120229) - lubridate::dyears(1) --> 2011-03-01, kết quả này đúng.

lubridate::ymd(20120229) - lubridate::years(4) --> 2008-02-29, kết quả này đúng.

lubridate::ymd(20120229) - lubridate::years(1) --> NA, đây là hành vi ngoài dự đoán.

Chúng ta có thể dùng các hàm DATEADD() và DATEDIFF() để xem SQL Server xử lý năm nhuận như thế nào và liệu nó có các “tính khí thất thường” tương tự hay không.

Hướng dẫn 1/3

undefined XP
    1
    2
    3

Điền các phần ngày (date part) và khoảng thời gian cần thiết để xác định SQL Server xử lý ngày 29 tháng 2 của năm nhuận như thế nào.

2012 là một năm nhuận. Năm nhuận trước đó cách 4 năm, và năm nhuận sau đó cũng cách 4 năm.