Calcular horas no banco de dados

Delphi

Banco de Dados

18/09/2017

Qual é a melhor forma de fazer o calculo de horas no banco de dados?
Ex.
Tenho 10 Funcionários que trabalham 6:12 diárias cada.
Em um dia dá 62:00 se eu ir somando de um a um "6:12+6:12+6:12...." (NÃO GOSTARIA DE FAZER ASSIM - pq acho que vai demorar demais, visto que tenho que fazer isto para 7 dias da semana)
Se eu fizer um "Select Sum(Horas)" vai dar 6120 (Gostaria de fazer assim, que acho que vai ficar mais rápido - fazendo assim, como eu faço para converter para horas?)



Existe uma forma melhor de fazer isto?
Hoje meu banco de dados tem cerca de 1200 funcionários.


Desde já agradeço
Dirceu Morais

Dirceu Morais

Curtidas 0

Respostas

Diego Alef

Diego Alef

18/09/2017

Isso depende da estrutura da sua tabela, existe variáveis especificas para este tipo de inserção no banco de dados.
GOSTEI 0
Dirceu Morais

Dirceu Morais

18/09/2017

Tenho uma tabela de Colaborador (ID_Carga_Horaria) e tabela Carga_horaria (id_carga_horaria).
Na tabela de carga horaria, tenho o total de horas a ser trabalhada no dia.
Ex.
id/Seg/Ter/Qua/Qui/sex/sab/dom
1/6:00/6:00/6:00/6:00/6:00/6:00
2/6:00/6:00/6:00/6:00/0:00//0:00
3/8:00/8:00/8:00/8:00/8:00/4:00/0:00

é isso que tenho
GOSTEI 0
Luiz Santos

Luiz Santos

18/09/2017

Dirceu.

Faltou dizer qual o banco você está usando.

Grande abraço
GOSTEI 0
Diego Alef

Diego Alef

18/09/2017

Se sua intenção é fazer um sistema na qual tenha um controle de ponto, seria melhor utilizar da seguinte forma

exemplo
Entrada / ALMOÇO-SAIDA / ALMOÇO-VOLTA / SAÍDA
08:00 / 12:00 / 13:00 / 18:00 = 9 HORAS

COMO AI SÃO 6HRS NÃO TEM HORÁRIO DE ALMOÇO
ENTRADA / SAÍDA
08:00 / 14:00 = 6 HORAS

O FUNCIONÁRIO BATE O PONTO NO HORÁRIOS E O SISTEMA REALIZA UMA SOMA E POSTERIORMENTE CASO QUEIRA UM RELATÓRIO, SUPER FACINHO.

AQUI NA DEVMEDIA EXISTE UM CURSO NA QUAL ENSINA MAIS OU MENOS TODOS ESSES PROCEDIMENTOS, SÓ PESQUISAR.

BOA SORTE.
GOSTEI 0
Dirceu Morais

Dirceu Morais

18/09/2017

Estou usando Firebird 2.5.
Não tenho intenção de fazer controle de ponto. Só preciso saber quantas horas ele trabalhou no dia.
A minha intenção e montar um relatório de absenteismo, ou seja, verificar quantas horas mensais teriam que trabalhar e quantas realmente foram trabalhadas.
GOSTEI 0
Everton Santos

Everton Santos

18/09/2017

bom dia em delphi vc tem funções que calculam diferença de horas retornando horas, minutos,segundos

veja a unit DATEUTIL

VC INFORMA HORA_FIM, HORA_INICIO OU AI VE FAZ COMO EU QDO GRAVAR O REGISTRO DO TRABALHO EU CALCULO
E GRAVO 1,5 HORAS 10,35 HORAS E ASSIM POR DIANTE
GOSTEI 0
POSTAR