Time em formato centesimal
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
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
Curtidas 0
Respostas
Diego Alves
16/07/2010
tenta usar isto SEC_TO_TIME(sum(TIME_TO_SEC(hora))
flw
GOSTEI 0
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
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
16/07/2010
Opa,
é Float, vou testar o seu cod. aqui já te falou o resultado....
é Float, vou testar o seu cod. aqui já te falou o resultado....
GOSTEI 0
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
o retorno era para ser 4.54 ou 4.900000 e retornou 00:00:02 rsrrsrs
GOSTEI 0
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
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é
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