Hola Comunidad
necesito ayuda con una vista de mysql (no tiene mucho que ver con yii, pero espero me den una mano)
la vista es un resumen de las horas trabajadaspor lo que me da un numero mayor a 24hslo cual no es problema para mysql ya que el tipo time soporta desde -838:59:59 a 838:59:59
http://dev.mysql.com …0/es/time.html
cuando creo la vista lo que hago es
create view …select …,sum(time_to_sec(horas_x_dia)) as total_horas # horas_x_dia es de tipo time
lo que no puedo lograr es convertir a time estos segundos!!!!
probe consec_to_time(…) ó TIME_FORMAT(…,’%H:%i’)
pero solo me convierte hasta 24hs
hasta llegar a esto
concat(floor(sum(time_to_sec(hs_extras))/3600),’:’,truncate((ceil(sum(time_to_sec(hs_extras))- floor(sum(time_to_sec(hs_extras))/3600)*3600)/60),0))
lo que me retorna cosas como
5:2 (5 horas 2 minutos)
45:16 (45 horas 16 minutos)
-1:1 (-1 horas 1 minuto)
-29:0 (-29 horas)
y quise hacer un convert(…,time)
pero solo convierte hasta 24hs
saludos
[edit]
mi problema es la herramienta que uso para trabajar(Tora for linux)
sec_to_time(sum(time_to_sec))) funciona perfecto
cyberpol
(Cyberpol 777)
December 17, 2009, 1:31pm
2
No probaste directametne sum(horas_x_dia).
Te comento porque yo el otro dia tuve que hacer algo parecido (en realidad restaba)
Era asi:
SELECT (horaAtencion - horaLlegada) AS TiempoEspera
horaLlegada y horaAtencion son de tipo TIME y me daba bien los resultados, por eso a lo mejor el SUM(horas_x_dia) lo hace bien, pero no lo probe…
No probaste directametne sum(horas_x_dia).
Te comento porque yo el otro dia tuve que hacer algo parecido (en realidad restaba)
Era asi:
SELECT (horaAtencion - horaLlegada) AS TiempoEspera
horaLlegada y horaAtencion son de tipo TIME y me daba bien los resultados, por eso a lo mejor el SUM(horas_x_dia) lo hace bien, pero no lo probe…
no, me da numeros "raros"
ejemplo
minutos segundos sum
-0:12 -720 4294966096
20:04 72240 160400
40:05 144300 356500
-55:37 -200220 90193803516
cyberpol
(Cyberpol 777)
December 17, 2009, 3:09pm
4
Ya se, a ver…
CAST(SUM(horas_x_dia) AS TIME) AS total_horas
Eso te da bien?
No, me da null
pero mi problema era tora for linux
probe en phpmyadmin y funciona convirtiendo a segundos, sumando y convirtiendo a time nuevamente
sec_to_time(sum(time_to_sec(horas)))
gracias PoL y disculpas
voy a ver si bajo Toad for Mysql freeware y lo puedo hacer andar con wine, jeje