Tenho uma tabela para armazenar roteiros de viagens.
Alterei alguns campos na tentativa de obter outros calculados, diretamente nas queries que consultam os dados gravados...
No exemplo a seguir, é criada uma tabela (básica) e, o que se pretende conseguir, é o tempo, em dias e horas, através da comparação da data+hora de um campo com outro...
Query 1. Criando a tabela (Visual dBase7, pelo DBExplorer).
create table 'viagens.dbf'
(
sequencial autoinc,
roteiro char(10),
saidalocal char(20),
saidadatahora timestamp,
chegadalocal char(20),
chegadadatahora timestamp,
empresa char(20)
)
Query 2. Inserindo dados, saída de Juiz de Fora, Chegada a Belo Horizonte.
insert into 'viagens.dbf'
(
roteiro,
saidalocal,
saidadatahora,
chegadalocal,
chegadadatahora,
empresa
)
values
(
'JDFFOR01',
'JDF TERM ROD.','11/22/2006 10:00:00',
'BHZ TERM ROD.','11/22/2006 16:30:00',
'Atual'
)
Query 3. Inserindo dados, saída de Belo Horizonte, Chegada a Salvador.
insert into 'viagens.dbf'
(
roteiro,
saidalocal,
saidadatahora,
chegadalocal,
chegadadatahora,
empresa
)
values
(
'JDFFOR01',
'BH CFZ','11/22/2006 23:40:00',
'SALVADOR SSA','11/23/2006 00:10:00',
'Gol'
)
Query 4. Inserindo dados, saída de Salvador, Chegada a Fortaleza.
insert into 'viagens.dbf'
(
roteiro,
saidalocal,
saidadatahora,
chegadalocal,
chegadadatahora,
empresa
)
values
(
'JDFFOR01',
'SALVADOR SSA ','11/23/2006 10:10:00',
'FORTALEZA FOR','11/23/2006 12:00:00',
'OceanAir'
)
Query 5. Inserindo dados, saída do Aeroporto de Fortaleza, Chegada à Praia de Iracema.
insert into 'viagens.dbf'
(
roteiro,
saidalocal,
saidadatahora,
chegadalocal,
chegadadatahora,
empresa
)
values
(
'JDFFOR01',
'FORTELEZA FOR ','11/23/2006 12:20:00',
'FORTALEZA PRAIA IRACEMA','11/23/2006 12:50:00',
'mototaxi'
)
Query 6. Inserindo dados, saída da areia, Chegada à boca do Tubarão.
insert into 'viagens.dbf'
(
roteiro,
saidalocal,
saidadatahora,
chegadalocal,
chegadadatahora,
empresa
)
values
(
'JDFFOR01',
'FORTELEZA PRAIA AREIA','11/23/2006 12:50:00',
'FORTALEZA MAR TUBARAO','11/23/2006 12:55:00',
'byfoot'
)
Query 7, para ver todos os dados:
select * from 'viagens.dbf'
Query 8, para ver os dados, e tentar calcular o tempo entre uma chegada e a respectiva saída.
select sequencial, roteiro,
saidalocal, saidadatahora,
chegadalocal, chegadadatahora,
(chegadadatahora-saidadatahora) tempo_a,
Cast(
Cast('01/01/1980 00:00:00' as date)+
((chegadadatahora-saidadatahora)*3600)
as timestamp
) tempo_b,
from 'viagens.dbf'
Como se pode observar, é feito um cálculo entre as colunas ... como converter isso para
dd/mm/aaaa hh:mm:ss
Alguma idéia?
Grato!
* Aquele "cast" com 01/01/1980 foi só um chute pra ver no que é que dava!
Pergunta
paulobergo
Oi pessoal...
Tenho uma tabela para armazenar roteiros de viagens.
Alterei alguns campos na tentativa de obter outros calculados, diretamente nas queries que consultam os dados gravados...
No exemplo a seguir, é criada uma tabela (básica) e, o que se pretende conseguir, é o tempo, em dias e horas, através da comparação da data+hora de um campo com outro...
Como se pode observar, é feito um cálculo entre as colunas ... como converter isso para
dd/mm/aaaa hh:mm:ss
Alguma idéia?
Grato!
* Aquele "cast" com 01/01/1980 foi só um chute pra ver no que é que dava!
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.