lunedì 9 gennaio 2023, 16:49
E se volete anche le singole componenti della data potete usare la funzione strftime
strftime('%Y', [Date/time UTC], 'localtime') as [Year],
strftime('%m', [Date/time UTC], 'localtime') as [Month],
strftime('%d', [Date/time UTC], 'localtime') as [Day],
strftime('%H', [Date/time UTC], 'localtime') as [Hour],
strftime('%M', [Date/time UTC], 'localtime') as [Minute],
questo oltre a convertire la data ed ora da UTC a fuso locale (italiano se siamo con il sistema che ospita sqlite impostato su Italia, tedesco se lo abbiamo su Germania, e così via) e con supporto ora legale (del singolo Paese), ci dà campi separati (e testuali) per Anno, Mese, Giorno, Ora, Minuto semplificando poi gli eventuali filtri che volessimo fare.
Esempio se volessimo vedere sempre tutto con dettagli ogni 10 min (sistemando anche i record con dettaglia ogni singolo minuto) basterebbe fare una query tipo
select
Year,
Month,
Day,
Hour,
Minute,
sum([Active energy Wh]) / 1000 as kWh
from
vwEnergyLog
group by
Year,
Month,
Day,
Hour,
substr([Minute], 1, 1)
supponendo che "vwEnergyLog" sia una vista che punta alla tabella dove abbiamo importato i dati del CSV e che aggiunga i campi separati indicati sopra.