Se sekundami, nebo bez?
Ve videu jsi viděl/a, jak lze pomocí DATEDIFF() vypočítat dobu jízdy jako rozdíl mezi časem zahájení a ukončení. Ale jak zjistíš, jestli dataset obsahuje ve transakcích i sekundy?
Použiješ DATEPART() k tomu, abys zjistil/a, kolik transakcí má hodnotu sekund větší než nula a kolik ji má rovnu nule. Pak můžeš posoudit, zda je takový počet odpovídající. Příkaz CASE rozdělí dataset do dvou kategorií.
Toto cvičení je součástí kurzu
Psaní funkcí a uložených procedur v SQL Serveru
Pokyny k cvičení
- Doplň první příkaz
CASE– pomocíDATEPART()vyhodnoť část dataSECONDsloupceStartDate. - Druhý příkaz
CASEv klauzuliGROUP BYdoplň stejným způsobem.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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