Arrotondare le date
SQL Server non offre un modo immediato per arrotondare per difetto al mese, all’ora o al minuto. Tuttavia, puoi combinare le funzioni DATEADD() e DATEDIFF() per ottenere questo tipo di arrotondamento.
Per arrotondare per difetto la data 1914-08-16 all’anno, chiameremmo DATEADD(YEAR, DATEDIFF(YEAR, 0, '1914-08-16'), 0).
Per arrotondare per difetto la data al mese, chiameremmo DATEADD(MONTH, DATEDIFF(MONTH, 0, '1914-08-16'), 0).
Questo approccio funziona anche per diversi altri componenti della data.
Questo esercizio fa parte del corso
Analisi delle serie temporali in SQL Server
Istruzioni dell'esercizio
- Usa
DATEADD()eDATEDIFF()insieme alle parti della data per arrotondare per difetto l’orario al giorno, all’ora e al minuto.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
DECLARE
@SomeTime DATETIME2(7) = '2018-06-14 16:29:36.2248991';
-- Fill in the appropriate functions and date parts
SELECT
DATEADD(___, DATEDIFF(DAY, 0, @SomeTime), 0) AS RoundedToDay,
___(___, ___(___, 0, @SomeTime), 0) AS RoundedToHour,
___(___, ___(___, 0, @SomeTime), 0) AS RoundedToMinute;