Ops....

Errei no contexto (estava com duas abas de query builder abertas).

Mas vamos ao resultado do teste.

========================================================= TRATATIVA DE TESTE
E AVALIAÇÃO
sap_2_unionr=# show datestyle;
LOG:  duration: 0.219 ms  statement: show datestyle;
 DateStyle
-----------
 ISO, DMY
(1 row)


sap_2_unionr =# SELECT ('05/04/2010 08:51:19'::date >= '01/12/2010' and
'05/04/2010 08
:51:18'::date <= '31/12/2010');
LOG:  duration: 0.546 ms  statement: SELECT ('05/04/2010 08:51:19'::date >=
'01/
12/2010' and '05/04/2010 08:51:18'::date <= '31/12/2010');
 ?column?
----------
 f
(1 row)


============================================================= PROBLEMA :
ACHO QUE ACHEI O ERRO
sap_2_unionr =# select a.seq,
sap_2_unionr -#        a.datasaida,
sap_2_unionr -#        a.dataretorno
sap_2_unionr -#   from r905_acompviagem a
sap_2_unionr -#  where a.datasaida > a.dataretorno ;
LOG:  duration: 6.649 ms  statement: select a.seq,
       a.datasaida,
       a.dataretorno
  from r905_acompviagem a
 where a.datasaida > a.dataretorno ;
 seq  |         datasaida          |        dataretorno
------+----------------------------+----------------------------
 4612 | 2011-01-04 09:16:48.986365 | 2011-01-04 00:00:00
 4576 | 2011-01-03 08:52:42.866134 | 1899-12-30 17:00:00
 1543 | 2010-07-05 14:57:03.027626 | 2010-07-05 14:52:39.818975
  805 | 2010-05-20 07:00:48.527273 | 2010-05-20 07:00:48
  827 | 2010-05-21 07:53:33.457388 | 2010-05-21 07:53:33
  819 | 2010-05-21 06:46:01.361399 | 2010-05-21 06:46:01
  824 | 2010-05-21 07:33:44.439904 | 2010-05-21 07:33:44
  828 | 2010-05-21 08:22:47.384948 | 2010-05-21 08:22:47
  823 | 2010-05-21 07:31:52.761665 | 2010-05-21 07:31:52
  825 | 2010-05-21 07:34:25.45789  | 2010-05-21 07:34:25
  820 | 2010-05-21 06:46:25.711412 | 2010-05-21 06:46:25
  829 | 2010-05-21 08:25:25.63626  | 2010-05-21 08:25:25
  826 | 2010-05-21 07:51:21.885277 | 2010-05-21 07:51:21
  832 | 2010-05-21 11:50:07.65441  | 2010-05-21 11:50:07
  822 | 2010-05-21 07:22:13.291241 | 2010-05-21 07:22:13
  830 | 2010-05-21 08:40:19.217596 | 2010-05-21 08:40:19
  803 | 2010-05-19 14:00:52.531    | 2010-05-19 14:00:52
  796 | 2010-05-19 08:25:58.939849 | 2010-05-19 08:25:58
  804 | 2010-05-20 06:13:12.783199 | 2010-05-20 06:13:12
  808 | 2010-05-20 07:35:43.76612  | 2010-05-20 07:35:43
  817 | 2010-05-20 08:13:34.643324 | 2010-05-20 08:13:34
  815 | 2010-05-20 08:01:14.892897 | 2010-05-20 08:01:14
-- Mais  --


=================================================================== DETALHE

Matei só de ver o result set : o campo datasaida está com valor default
current_timestamp (ou seja, está incluindo os milésimos) e no campo retorno
está default now().

Será isto?

 


-----Mensagem original-----
De: pgbr-geral-boun...@listas.postgresql.org.br
[mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Leonardo
Cezar
Enviada em: sexta-feira, 7 de janeiro de 2011 11:12
Para: Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] RES: Coluna DataType Timestamp : Comparativo
equivocado ou abordagem equivocada?

2011/1/7 Rubens José Rodrigues <rubens.rodrig...@batistarepresentacoes.com>:
> Vamos lá...
> select a.seq,
>       a.datasaida,
>       a.dataretorno
>  from r905_acompviagem a
>  where a.datasaida::date   >= '01/12/2010'
>   and a.dataretorno::date <= '31/12/2010'
>  order by a.datasaida
>
>
> Saida de dados:
> seq     datasaida       dataretorno
> 243     05/04/2010 08:51:19     05/04/2010 08:51:18
> 247     05/04/2010 09:06:52     05/04/2010 09:06:52

Parece q o contexto da dúvida inicial mudou, mas não deixa de ser
bizarro ao extremo. Vamos tentar entender ...

No psql ou em algum outro cliente do pg faça o seguinte:

postgres=# SHOW DateStyle;
 DateStyle
-----------
 ISO, DMY
(1 row)

SELECT ('05/04/2010 08:51:19'::date >= '01/12/2010' and '05/04/2010
08:51:18'::date <= '31/12/2010');
 ?column?
----------
 f
(1 row)

Repare q as primeiras linhas exibidas pra vc retornam falso no meu
exemplo e portanto não deveriam ser exibidas, daí fica a dúvida quanto
a aplicação, por isso peço q execute num cliente (psql ou pgadmin) pra
validar o cenário.

Abraço!

-Leo
-- 
Leonardo Cezar
http://postgreslogia.wordpress.com
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a