มีวินาทีหรือไม่?
ในวิดีโอ คุณได้เห็นวิธีใช้ DATEDIFF() เพื่อคำนวณเวลาเดินทางโดยหาผลต่างระหว่างเวลาเริ่มต้นและเวลาสิ้นสุด แต่จะรู้ได้อย่างไรว่าชุดข้อมูลมีค่าวินาทีในรายการธุรกรรมหรือไม่?
ในแบบฝึกหัดนี้ จะใช้ DATEPART() เพื่อดูว่ามีรายการธุรกรรมกี่รายการที่มีค่าวินาทีมากกว่าศูนย์ และกี่รายการที่มีค่าเท่ากับศูนย์ จากนั้นจึงประเมินว่าสัดส่วนดังกล่าวเหมาะสมหรือไม่ โดย CASE statement จะแบ่งชุดข้อมูลออกเป็นสองกลุ่ม
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียนฟังก์ชันและ Stored Procedures ใน SQL Server
คำแนะนำการฝึกหัด
- เติม
CASEstatement แรกให้สมบูรณ์ โดยใช้DATEPART()เพื่อประเมิน date partSECONDของStartDate - เติม
CASEstatement ที่สองใน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