Como calcular média de datas no SQL

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Como calcular a média entre as datas de uma tabela no SQL Server, usando uma função de usuário

Como calcular média de datas no SQL

Problema do aluno: Trabalho com o SQL Server 2000 e tenho vários campos de data numa tabela.

Necessidade: Preciso calcular a média entre todas as datas da tabela.

Solução: Criar uma função.

Primeiro, criamos um database e a tabela que nos servirá de base de dados.

CREATE DATABASE EXEMPLO_DATA
GO

USE EXEMPLO_DATA

CREATE TABLE DATAS
(
   DATA DATETIME
)

INSERT INTO DATAS VALUES ( ‘2004-05-12 17:21:10.663' )
INSERT INTO DATAS VALUES ( ‘2004-05-12 17:21:10.693' )
INSERT INTO DATAS VALUES ( ‘2004-05-12 17:21:10.763' )
INSERT INTO DATAS VALUES ( ‘2004-05-12 17:21:10.783' )
INSERT INTO DATAS VALUES ( ‘2004-05-12 17:21:11.657' )
INSERT INTO DATAS VALUES ( ‘2004-05-12 17:21:11.677' )
INSERT INTO DATAS VALUES ( ‘2004-05-12 17:21:11.757' )
INSERT INTO DATAS VALUES ( ‘2004-05-12 17:21:11.807' )
INSERT INTO DATAS VALUES ( ‘2004-05-12 17:21:12.667' )
INSERT INTO DATAS VALUES ( ‘2004-05-12 17:21:12.687' )
GO

Agora, criamos a função:

CREATE FUNCTION CALCULAMEDIAENTREDATAS()
   RETURNS DATETIME
AS
BEGIN
   DECLARE @DATAINI DATETIME
   SELECT TOP 1 @DATAINI = DATA FROM DATAS ORDER BY DATA
   RETURN ( SELECT DATEADD (MS, AVG(DATEDIFF (MS, @DATAINI, DATA )), @DATAINI) FROM DATAS )
END
GO

E, finalmente:

SELECT DBO.CALCULAMEDIAENTREDATAS()

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?