Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #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
Poder: 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
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Time Server Indy pablonill Servers 0 02-04-2008 14:19:52
Lock time out SQL Server connection timed out delphisenda Varios 2 20-09-2007 21:23:07
Crear dll para un programa del que no tengo entero el código fuente entero seduerey Varios 1 02-05-2007 13:58:08
Obtener el time y date del server... uper Firebird e Interbase 1 11-03-2005 15:49:12
De entero a hexa, y hexa a entero (o string) emeceuy Varios 5 02-06-2004 18:23:13


La franja horaria es GMT +2. Ahora son las 02:47:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi