Calcular horas no banco de dados

18/09/2017

0

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

Responder

Posts

18/09/2017

Diego Alef

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

18/09/2017

Dirceu Morais

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
Responder

18/09/2017

Luiz Santos

Dirceu.

Faltou dizer qual o banco você está usando.

Grande abraço
Responder

18/09/2017

Diego Alef

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.
Responder

18/09/2017

Dirceu Morais

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.
Responder

21/09/2017

Everton Santos

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
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar