เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

มีวินาทีหรือไม่?

ในวิดีโอ คุณได้เห็นวิธีใช้ DATEDIFF() เพื่อคำนวณเวลาเดินทางโดยหาผลต่างระหว่างเวลาเริ่มต้นและเวลาสิ้นสุด แต่จะรู้ได้อย่างไรว่าชุดข้อมูลมีค่าวินาทีในรายการธุรกรรมหรือไม่?

ในแบบฝึกหัดนี้ จะใช้ DATEPART() เพื่อดูว่ามีรายการธุรกรรมกี่รายการที่มีค่าวินาทีมากกว่าศูนย์ และกี่รายการที่มีค่าเท่ากับศูนย์ จากนั้นจึงประเมินว่าสัดส่วนดังกล่าวเหมาะสมหรือไม่ โดย CASE statement จะแบ่งชุดข้อมูลออกเป็นสองกลุ่ม

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การเขียนฟังก์ชันและ Stored Procedures ใน SQL Server

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เติม CASE statement แรกให้สมบูรณ์ โดยใช้ DATEPART() เพื่อประเมิน date part SECOND ของ StartDate
  • เติม CASE statement ที่สองใน GROUP BY ให้สมบูรณ์ด้วยวิธีเดียวกัน

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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
แก้ไขและรันโค้ด