Fórum Como armazenar horas no firebird? #286611

01/07/2005

0

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


Cabelo

Cabelo

Responder

Posts

04/07/2005

Cabelo

Sobe.. :(


Responder

Gostei + 0

04/07/2005

Marcio.theis

Guarda como string, depois vc formata.


Responder

Gostei + 0

04/07/2005

Cabelo

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


Responder

Gostei + 0

05/07/2005

Cabelo

Sobe de novo... :cry:


Responder

Gostei + 0

05/07/2005

Sremulador

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


Responder

Gostei + 0

05/07/2005

Cabelo

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


Responder

Gostei + 0

05/07/2005

Sremulador

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.


Responder

Gostei + 0

05/07/2005

Cabelo

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


Responder

Gostei + 0

05/07/2005

Sremulador

bem nas tabelas de sistema você pode dar uma olhadinha, mas vai dar pau nas tabela que você utiliza como time :( :wink:


Responder

Gostei + 0

05/07/2005

Gandalf.nho

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)


Responder

Gostei + 0

06/07/2005

Cabelo

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


Responder

Gostei + 0

06/07/2005

Beppe

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.


Responder

Gostei + 0

07/07/2005

Cabelo

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


Responder

Gostei + 0

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

Aceitar