[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