Секунди чи без секунд?
У відео ви бачили, як DATEDIFF() можна використати, щоб обчислити час поїздки, знаходячи різницю між початком і завершенням. Але як дізнатися, чи набір даних містить секунди в транзакціях?
Тут ви використаєте DATEPART(), щоб з'ясувати, скільки транзакцій мають секунди більші за нуль, а скільки — рівні нулю. Після цього ви зможете оцінити, чи це прийнятна частка. Оператор CASE розділить набір даних на дві категорії.
Ця вправа є частиною курсу
Написання функцій і збережених процедур у SQL Server
Інструкції до вправи
- Завершіть перший вираз
CASE, використовуючиDATEPART()для перевірки частини датиSECONDуStartDate. - Так само завершіть другий вираз
CASEу блоці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