始める無料で始める

秒あり?それともなし?

動画では、DATEDIFF() を使って開始時刻と終了時刻の差から走行時間を計算する方法を見ました。ただし、トランザクションに秒が含まれているかどうかは、どのように確認すればよいでしょうか?

ここでは、DATEPART() を使って、秒が 0 より大きいトランザクションはいくつあるか、秒が 0 のトランザクションはいくつあるかを確認します。そうすれば、妥当なデータかどうかを評価できます。CASE 文を使って、データセットを2つのカテゴリに分けます。

この演習はコースの一部です

SQL Server における関数とストアドプロシージャの作成

コースを見る

演習の手順

  • 最初の CASE 文を完成させ、DATEPART() を使って StartDateSECOND の部分を評価してください。
  • 同じ方法で、GROUP BY 内の2つ目の 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
コードを編集して実行