Time em formato centesimal

MySQL

16/07/2010

Fala massa,

Sou iniciante em consultas SQL. Estou tentando fazer uma consulta que me retorne o somatório de um campo que contém horas. O problema é que a hora esta em formata centesimal(base de 100).
EX.: 2.66667 = 2:40
E preciso do retorno no formato sexagesimal, 2:40.

Em outros palavras em tenho na base

2.166667
0.166667
1.166667

TOTAL 3.500000 e preciso 3:30


Tentei algo do tipo

TIME_FORMAT(SUM(CONCAT(SECOND(glpi_tracking.realtime),".",
LEFT(MICROSECOND(glpi_tracking.realtime)*60,2))),'%T') AS TESTE

Sem sucesso.


Quem puder me ajudar já agradeço
Welington Souza

Welington Souza

Curtidas 0

Respostas

Diego Alves

Diego Alves

16/07/2010

tenta usar isto SEC_TO_TIME(sum(TIME_TO_SEC(hora))   flw
GOSTEI 0
Welington Souza

Welington Souza

16/07/2010

tenta usar isto SEC_TO_TIME(sum(TIME_TO_SEC(hora))   flw


Também não rolou....

Mas percebi um erro na minha consulta; eu em 1° tenho que fazer o somatório dos registros para depois separa a hora dos minutos e converter os minutos de base 100 em base 60

tipo: 2.66667 + 2.66667 = 5.33334 .: 33334*60 .: 20mins + 5:20


acho q é isso heheheheh tem como me ajuda ? sou realmente horrível com querys


GOSTEI 0
Diego Alves

Diego Alves

16/07/2010

qual o tipo de dados que vc ta salvando na sua base de dados? na minha salvo como varchar (HH:mm:ss) e depois faço um select simples efetuando a soma. exemplo.: SELECT CAST(SEC_TO_TIME(sum(TIME_TO_SEC(hora))) as char(9)) as somahora FROM bankcontrol.bd_relogio      
GOSTEI 0
Welington Souza

Welington Souza

16/07/2010

Opa,

é Float, vou testar o seu cod. aqui já te falou o resultado....
GOSTEI 0
Welington Souza

Welington Souza

16/07/2010

po não rolou....

o retorno era para ser 4.54 ou 4.900000 e retornou 00:00:02 rsrrsrs
GOSTEI 0
Welington Souza

Welington Souza

16/07/2010

RESOLVI

 CAST(SEC_TO_TIME(SUM(glpi_tracking.realtime)*60*60) as char(9)) as somahora

ta certinho agora

VLW

Ajudou pra caramba
GOSTEI 0
José

José

16/07/2010

Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
GOSTEI 0
POSTAR