Có giây hay không có giây?
Trong video, bạn đã thấy DATEDIFF() có thể được dùng để tính thời gian chuyến đi bằng cách lấy chênh lệch giữa thời gian bắt đầu và kết thúc. Nhưng làm sao biết bộ dữ liệu có lưu phần giây trong các giao dịch?
Tại đây, bạn sẽ dùng DATEPART() để xem có bao nhiêu giao dịch có số giây lớn hơn 0 và bao nhiêu giao dịch có số giây bằng 0. Sau đó bạn có thể đánh giá liệu mức độ này có phù hợp không. Câu lệnh CASE sẽ chia bộ dữ liệu thành hai nhóm.
Bài tập này là một phần của khóa học
Viết Hàm và Thủ Tục Lưu Trữ trong SQL Server
Hướng dẫn bài tập
- Hoàn chỉnh câu lệnh
CASEđầu tiên, dùngDATEPART()để đánh giá phầnSECONDcủaStartDate. - Hoàn chỉnh câu lệnh
CASEthứ hai trongGROUP BYtheo cách tương tự.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
SELECT
-- Count the number of IDs
COUNT(ID) AS Count,
-- Use DATEPART() to evaluate the SECOND part of StartDate
"StartDate" = CASE WHEN ___(___, ___) = 0 THEN 'SECONDS = 0'
WHEN ___(___, ___) > 0 THEN 'SECONDS > 0' END
FROM CapitalBikeShare
GROUP BY
-- Use DATEPART() to Group By the CASE statement
CASE WHEN ___(___, ___) = 0 THEN 'SECONDS = 0'
WHEN ___(___, ___) > 0 THEN 'SECONDS > 0' END