有秒还是无秒?
在视频中,您看到如何使用 DATEDIFF() 通过计算起始和结束时间的差值来得到行程时长。但如何确认数据集中交易是否包含秒级信息呢?
在本题中,您将使用 DATEPART() 来统计秒数大于 0 的交易有多少,以及秒数等于 0 的交易有多少。然后,您可以评估这是否合理。CASE 语句会将数据集分为两类。
本练习是课程的一部分
SQL Server 中的函数与存储过程编写
练习说明
- 完成第一个
CASE语句,使用DATEPART()评估StartDate的SECOND部分。 - 以相同方式在
GROUP BY中完成第二个CASE语句。
交互式实操练习
通过完成这段示例代码来试试这个练习。
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