Sto cercando di calcolare la media di un paio di righe con un datetime
tipo di dati (formato datetime standard).
Come posso farlo?medio del tipo di dati datetime
6
A
risposta
9
Convertire il datetime ad un float
. Lo standard SQL definisce questo come il numero di giorni dal 1900, quindi dovrebbe essere abbastanza portabile. Per esempio:
declare @t table (dt datetime)
insert @t select '1950-01-01'
union all select '1960-01-01'
select cast(avg(cast(dt as float)) as datetime) from @t
Questo risultato è 1955-01-01
. Example at SE Data.
2
Questo è il modo per ottenere la media di una colonna DateTime in MySql:
create temporary table table_1 (
aDate DateTime
);
insert into table_1 values
('2000-01-01 00:00:00'),
('2010-01-01 00:00:00');
select CAST(avg(aDate) as DateTime) from table_1;
-- Result: "2005-01-01 00:00:00"
2
In PostgreSQL si potrebbe:
SELECT to_timestamp(avg(EXTRACT(EPOCH FROM my_timestamp)))
FROM my_tbl;
Maggiori informazioni nel manuale di multa here.
convertirli in secondi, calcolare AVG e convertire risultato secondi indietro – zerkms
Per una domanda del genere si dovrebbe davvero specificare il RDBMS. Hanno tutti caratteristiche speciali quando si tratta di timestamp. –