• Viernes 3 de Mayo de 2024, 11:25

Autor Tema:  Sumatoria De Dato En Hora  (Leído 2170 veces)

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Sumatoria De Dato En Hora
« en: Lunes 10 de Septiembre de 2007, 15:42 »
0
hola!

bueno haber por donde empiezo sin enredarlo... tengo en una tabla de una BD Access la informacion de empleados, en donde está la hora de entrada, la hora de salida, y la cantidad de horas que hay entre esas dos horas, con respecto a la jornada de trabajo del empleado.

Los campos de la tabla son de tipo Texto, porque el resultado de horas solo guardo, por ejmplo: 05:00 o 04:30, es decir, entre la hora1 y hora2 (entrada/salida) el empleado trabajó 5 Hrs o 4Hrs y 1/2, no le guardo ningun am o pm. Solo para las horas de Ent/Sal guardo am y pm, pero para indicar la cantidad de horas trabajas solo tomo esa porcion que menciono.

Entonces en la tabla yo tengo estos campos guardados de la siguiente manera:
HrEnt: 7:00 am
HrSal: 12:00 pm
Hrs: 05:00 --> 5 Hrs laboradas

HrEnt: 7:00 pm
HrSal: 10:30 pm
Hrs: 03:30 --> 3 Hrs y media laboradas

Estos campos no son de tipo hora, sino de tipo Texto, pero luego de esto necesito hacer una SQL donde se indica sumar todas las Hrs de X Empleado, no puedo usar la funcion Sum() de SQL ya que no son datos de tipo numerico, y si fuese hora creo que tampoco, son de tipo texto por lo que tampoco.

¿Cómo podriá hacerse para hacer una sumatoria de este campo, si el dato no es numerico? ¿existiria alguna funcion SQL que convierta el dato de Texto a Numerico? sé que está el CONVERT() me parece, pero yo pregunto ¿como pasaria un dato 03:30 a algo numerico? porque me ha dado error las pruebas o intentos que he hecho para tratar de hacer esto.

Comienzo a pensar que esto es imposible  :(
Si esto es Leído por accidente, induzca al vomito

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Re: Sumatoria De Dato En Hora
« Respuesta #1 en: Lunes 10 de Septiembre de 2007, 19:09 »
0
Sobre mi problema de campos que son de Texto pero tienen como datos
05:00, 04:30, 03:00, etc... (como si fuesen horas pero sin am ni pm)

Pues probe con esto:
SELECT Sum(Hour(TotalHrsD1)) AS Horas, Sum(Minute(TotalHrsD1)) AS Minutos FROM chl_tb;

Era lo que estaba viendo, si podia tomar la porcion de hora y la de minutos por separado y sumarlas, habia visto con un Date_Format() pero no lo reconocia, pero con estos Hour() y Minute() ambos metidos en Sum() si da en un query sql la sumatoria de las horas y los minutos por separados.

Y yo que pense que no daria con la cuestion o que me tardaria mas de lo pensado  :rolleyes:

 :hola:  :comp:
Si esto es Leído por accidente, induzca al vomito