Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Augusto Costa

Campo Query AsDateTime > variável TDateTime

Recommended Posts

Estou com o seguinte problema, faço uma consulta ao banco e trago um registro que comtem somente horas, a data (dd/mm/yyyy) nao existe neste campo,e precisava fazer uma comapração com um campo que traz a data e hora, se efetuar a comparação normal, query.AsDateTime > TdateTime, vai haver casos que tem q satisfazer essa condição, mas nao atingirá pq o TDateTime possui a data junto, e me corrijam se estiver errado, mas um campo que tem horas a numeração que referencia a hora é diferente da numeração que referencia um campo com data e hora.Espero ter deixado claro o problema.Obrigado.Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

RESOLVIDO...Para resovler ambos os problemas usei a seguinte sintaxe,criei duas variaveis do tipo TDateTime, uma para o campo do select e outra para a variavel que tem a data,ai atribui o seguinte valor a elasvariavel1 := CampoQuery.AsDateTime - Trunc(CampoQuery.AsDateTime);variavel2 := VariavelData - Trunc(VariavelData);if ( variavel1 > variavel2) and ( (variavel1 - (1/24 *2)) > variavel2 ) thenAi no caso o (1/24 * 2) traz o valor de duas horas para ser subtraido da variavel das horas.beleza... espero que isso ajude muita gente aee!!Abraçoss!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra deixar claro se alguém tiver essa dúvida:

 

O valor real de um datetime é representado como double (float, se preferirem)...

 

a parte inteira se refere à data e a parte de fração se refere ao horario...

 

logo, se você ver o valor real de um datetime é algo como 12875,283752 (só exemplo)...

 

pra pegar a parte data, use Trunc(variavel).... e o horário use Frac(variavel)...

 

http://forum.imasters.com.br/public/style_emoticons/default/excl.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.