[firebase-br] RES: Somar campos Time

jl em antaresassessoria.com.br jl em antaresassessoria.com.br
Sex Jun 11 10:36:43 -03 2010


ola, retirei essa dica desta lista... não testei e tambem nao anotei o nome 
do autor

// ============================================================

OPERAÇÕES COM SELECT QUE RETORNAM DATAS CALCULO DE DATAS COM SELECT

2 formas:

1= > select datediff(minute, saida1, saida2) from SUA_TABELA



2= Assim,

SELECT CAST('25.02.2008' AS DATE) - CAST('24.02.2008' AS DATE) retorna 1.



Quando você usa dois TIMESTAMPs o resultado será composto de um núemro

decimal que representará ainda quantos dias.

Assim,

SELECT

(CAST('25.02.2008 10:44:08' AS TIMESTAMP) - CAST('25.02.2008 10:44:07'

AS TIMESTAMP)) AS DIF

FROM RDB$DATABASE

retorna 0,000011574 dia, ou seja, um segundo.

Se você quiser que ele retorne 1 segundo, vai ter que multiplicar por

24*60*60, ou seja 24h * 60 min * 60 seg.

Se você quiser que ele retorne milisegundos, terá que multiplicar por 1000.



A aula está aí. Rode a query abaixo e vá brincando com os valores e com

a multiplicação conforme o tipode retorno que vc quer e veja como esta

teoria se aplica à sua prática.



SELECT

CAST((CAST('25.02.2008 10:44:08' AS TIMESTAMP) - CAST('25.02.2008

10:44:07' AS TIMESTAMP))*24*60*60 AS NUMERIC (4,2)) AS DIF_SEG

FROM RDB$DATABASE







----- Original Message ----- 
From: "Boca" <boca em gameoverfc.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Friday, June 11, 2010 9:58 AM
Subject: [firebase-br] RES: Somar campos Time


Bom dia Robson.
A maneira que eu conheço, é só você subtrair os campos na select que
funcionaria. O único inconveniente seria ter que ficar convertendo para
hora, pois subtraindo dois campos TIME, será retornado o resultado em
segundos.
Minha select ficou assim:
SELECT (HORA2-HORA1)/3600 AS TEMPO FROM TESTE_HORA

Você só terá trabalho quando tiver calculo com minutos.

Se alguém souber de outro jeito me fale que e eu também quero aprender!

Obrigado
Lucas Rafael Rampin
Programador Delphi

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Robson gaeski
Enviada em: sexta-feira, 11 de junho de 2010 09:06
Para: FireBase
Assunto: [firebase-br] Somar campos Time

Bom dia Amigos,
estou com o seguinte problema
Tenho uma tabela com um campos Time,  um campo data e um campo NroRegistro
Verifico se não existe registro para essa data gravo o Nroregistro como 1
então gravo data e hora nos campos  e Se já existe 1 registro o NroRegistro
é gravado como 2, e assim ate gravar o 4º registro.
Para entender melhor é o registro de entrada e saída de funcionários
Onde o NroRegistro  1 é a entrada da manha, o NroRegistro 2 é a saída de
meio dia, o NroRegistro 3 é a entrada a tarde, e o NroRegistro 4 é a saída
da tarde
O que preciso é somar essas datas.
Por exemplo:
O funcionário Teste no dia 11/06/10 teve os seguintes registros gravados:
08:00
10:00
Somaria esses dois registros que daria 2 Hrs
14:00
17:00
Somaria esses dois registros que daria 3 Hrs

E apresentasse o total que seria 5Hrs

Lembrando que pode ter valores null pois o funcionário pode trabalhar meio
período, e que poderá ter minutos e segundos envolvidos
Alguém pode me ajudar?
Grato

--

Atenciosamente
Analista Programador
Robson Gaeski
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista