Ver Mensaje Individual
  #2  
Antiguo 05-06-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Reputación: 26
BlueSteel Va por buen camino
Cool

Cita:
Empezado por Gaim2205 Ver Mensaje
Hola amigos, tengo una tabla donde se almacenan horarios de entrada y salida de trabajadores y quiero hacer una simple resta hora de entrada - hora de salida. El problema es que estos datos estan almacenados en campos de tipo entero por lo que una resta, por ejemplo:

19.00 - 8.20 = 10.8

y lo que yo quiero es obviamente que me devuelva en formato tiempo.

19.00 - 8.20 = 10.40 (diez horas, cuarenta minutos)

como puedo hacer esto con instrucciones sql en sql server 2000??
Muchas Gracias...
Creo que debes convertir el entero a tipo hora... y realizar la resta de las horas con algun parametro

Yo lo que realizo es almacenar la fecha y hora en un mismo campo....si bien los datos que me llegan de la captura son de tipo string y entero, los transformo de la sgte forma

Con la siguiente funcion convierto los datos que vienen así

Fecha : 20080605
Hora :1341

a esto '06/06/2008 13:41:00'

Código Delphi [-]
     cYear   := StrToInt(Copy(DTexto.FieldByName('Fecha').asString,1,4));
     cMes    := StrToInt(Copy(DTexto.FieldByName('Fecha').asString,5,2));
     cDia    := StrToInt(Copy(DTexto.FieldByName('Fecha').asString,7,2));
     cHora   := StrToInt(Copy(DTexto.FieldByName('Hora').asString,1,2));
     cMinuto := StrToInt(Copy(DTexto.FieldByName('Hora').asString,3,2));
     cFecha := encodedate(cYear, cMes, cDia);
     cTime := encodetime(cHora, cMinuto, 0, 0);
     ReplaceTime(cFecha, cTime);

desde SQL utilizo lo siguiente para separar la fecha y la hora del campo Fecha (Acuerdate que la fecha y la hora estan en el mismo campo)

Código SQL [-]
 
CONVERT(Char(10), Hor_Fecha, 103) As Fecha
CONVERT(Char(8), Hor_Fecha, 108) As Hora'
en delphi puedes utilizar esto
Código Delphi [-]
MinutesBetween(Sal2,Ent2)
lo que te devolverá la cantidad de minutos que hay entre 2 horas (despues realizas el calculo de cuantas horas y minutos corresponderian...

Bueno, espero que esto te sirva.. o al menos te oriente

Salu2
__________________
BlueSteel
Responder Con Cita