Eu tenho enfrentado um cenário estranho ao comparar datas no postgresql (versão 9.2.4 no windows). Eu tenho uma coluna na minha tabela como update_date com o tipo 'timestamp without fuso horário'. O cliente pode pesquisar nesse campo apenas com data (por exemplo: 2013-05-03) ou data com hora (por exemplo: 2013-05-03 12:20:00). Esta coluna possui o valor como carimbo de data e hora para todas as linhas atualmente e tem a mesma parte da data (03/05/2013), mas diferença na parte da hora.
Quando estou comparando esta coluna, estou obtendo resultados diferentes. Como os seguintes:
select * from table where update_date >= '2013-05-03' AND update_date <= '2013-05-03' -> No results
select * from table where update_date >= '2013-05-03' AND update_date < '2013-05-03' -> No results
select * from table where update_date >= '2013-05-03' AND update_date <= '2013-05-04' -> results found
select * from table where update_date >= '2013-05-03' -> results found
Minha pergunta é como posso tornar possível a primeira consulta para obter resultados. Quero dizer, por que a terceira consulta está funcionando, mas não a primeira?
Alguém pode me ajudar com isso? Desde já, obrigado.
'2013-05-03'::date
e'1 day'::interval
) o PostgreSQL é específica?