Como armazenar horas no firebird?
Colegas..
É o seguinte..
Tenho que armazenar no banco de dados um campo de horas, mas maior que 24 hs, assim como o banco me permite num campo tipo TIME.
Tentei mudar o campo para float e formatar a hora num campo alculado no grid, mas tb não deu certo.
Como faço para armazenar um valor de hora maior que 24..?
É o seguinte..
Tenho que armazenar no banco de dados um campo de horas, mas maior que 24 hs, assim como o banco me permite num campo tipo TIME.
Tentei mudar o campo para float e formatar a hora num campo alculado no grid, mas tb não deu certo.
Como faço para armazenar um valor de hora maior que 24..?
Cabelo
Curtidas 0
Respostas
Cabelo
01/07/2005
Sobe.. :(
GOSTEI 0
Marcio.theis
01/07/2005
Guarda como string, depois vc formata.
GOSTEI 0
Cabelo
01/07/2005
[quote:580747d102=´/]/]@t´]Guarda como string, depois vc formata.[/quote:580747d102]
Eu tive a mesma idéia, mas gostaria de saber se tem algum campo, com o formato de hora para armazenar soma de horas..
Na verdade, estou trabalhando exatamente assim, guardando com string e depois formatando, mas acredito ser uma espécie de gambiarra..
Gostaria de saber se no firebird, ou delphi, existe algum recurso para gravar valoes de horas, como campo tipo horas..sem ter que formatar.
Obrigado pela dica..
Eu tive a mesma idéia, mas gostaria de saber se tem algum campo, com o formato de hora para armazenar soma de horas..
Na verdade, estou trabalhando exatamente assim, guardando com string e depois formatando, mas acredito ser uma espécie de gambiarra..
Gostaria de saber se no firebird, ou delphi, existe algum recurso para gravar valoes de horas, como campo tipo horas..sem ter que formatar.
Obrigado pela dica..
GOSTEI 0
Cabelo
01/07/2005
Sobe de novo... :cry:
GOSTEI 0
Sremulador
01/07/2005
bem já que você não quer guardar em um campo tipo texto então voce pode utilizar inteiro tipo Hora: Integer; Minuto:Integer; Msec:Integer...
GOSTEI 0
Cabelo
01/07/2005
bem já que você não quer guardar em um campo tipo texto então voce pode utilizar inteiro tipo Hora: Integer; Minuto:Integer; Msec:Integer...
E aí sremulador, tudo bem?
Posso gravar sim como integer, mas perceba que a gambiarra continua.. certo?
Acredito que deva haver uma maneira d egravar no banco de dados, horas maiores que 24
Valeu pela dica..
GOSTEI 0
Sremulador
01/07/2005
bem amigo veja o manual do ib/fb não tem como nos meios legais ou melhor se gambiarra, já que um dia tem 24h pq colocar em um db que um dia tem 50h não ficaria correto ai a gambiarra já vinha de fabrica.
GOSTEI 0
Cabelo
01/07/2005
Rsss.. é verdade..
Mas acredito que deveria existir um campo assim :
QtdTime : Quantitativo de horas..
sempre mantendo o formato hora minuto, mas aceitando horas em quantidade, e não relacionado a dias.. nunca transforma para dias..
entendeu??
achei que poderia ter..
desculpe minha ignorância..
Mas acredito que deveria existir um campo assim :
QtdTime : Quantitativo de horas..
sempre mantendo o formato hora minuto, mas aceitando horas em quantidade, e não relacionado a dias.. nunca transforma para dias..
entendeu??
achei que poderia ter..
desculpe minha ignorância..
GOSTEI 0
Sremulador
01/07/2005
bem nas tabelas de sistema você pode dar uma olhadinha, mas vai dar pau nas tabela que você utiliza como time :( :wink:
GOSTEI 0
Gandalf.nho
01/07/2005
Não dá para fazer exatamente o que vc deseja no IB/FB, vc terá que armazenar em outro formato e converter na aplicação cliente. Outra sugestão é tentar um banco de dados que suporte isso (parece que o PostgreSQL tem esse tipo de campo)
GOSTEI 0
Cabelo
01/07/2005
Não dá para fazer exatamente o que vc deseja no IB/FB, vc terá que armazenar em outro formato e converter na aplicação cliente. Outra sugestão é tentar um banco de dados que suporte isso (parece que o PostgreSQL tem esse tipo de campo)
O problema é que não posso mudar o banco, já que todo o sistema já roda neste banco... só estou implementando..
Portanto terei mesmo que continuar trabalhando com campo string..
que m... :?
Acho que deveria ser criado este tipo de campo...
Obrigado a todos pela atenção
GOSTEI 0
Beppe
01/07/2005
Eu discordo, sinceramente acho inútil um tipo de dados destes...imagina se existisse um tipo de dados para cada necessidade? Sendo que é possível fazer de tudo com os tipos de dados já existentes.
Recentemente precisei recuperar o intervalo em horas entre duas datas, no MySQL...achei suficiente fazer um campo calculado.
Recentemente precisei recuperar o intervalo em horas entre duas datas, no MySQL...achei suficiente fazer um campo calculado.
GOSTEI 0
Cabelo
01/07/2005
Eu discordo, sinceramente acho inútil um tipo de dados destes...imagina se existisse um tipo de dados para cada necessidade? Sendo que é possível fazer de tudo com os tipos de dados já existentes.
Recentemente precisei recuperar o intervalo em horas entre duas datas, no MySQL...achei suficiente fazer um campo calculado.
Eu discordo, acho que deveria existir uma infinidade de tipos de campos, para todas as situações...
Pode ser inútil pra você, caro amigo, pois pra mim seria de grande ajuda..
Estou fazendo um sistema de RH, com banco de horas, tnho um tipo de conta corrente, que o usuário selecioa um range de datas..
dentro destas datas, será selecionado, todos os fechamentos que existirem e faz o calculo do saldo.. agora imagina..
tenho que alterar o tipo de campo a cada lançamento, fazer o calculo e transformá-lo (formatar) de novo..
seria bem melhor pegar o campo montado direto..
O meu problema não é uma diferença entre horas, nem uma soma, e sim o armazenamento delas, com formato de horas, sendo que essas horas, na maioria das vezes são maiores que 24..
GOSTEI 0