Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

Hướng dẫn bài tập

  • Hoàn chỉnh câu lệnh CASE đầu tiên, dùng DATEPART() để đánh giá phần SECOND của StartDate.
  • Hoàn chỉnh câu lệnh CASE thứ hai trong GROUP BY theo 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
Chỉnh sửa và Chạy Mã