Me he enfrentado a un escenario extraño al comparar fechas en postgresql (versión 9.2.4 en windows). Tengo una columna en mi tabla que dice update_date con el tipo 'marca de tiempo sin zona horaria'. El cliente puede buscar en este campo con solo fecha (es decir, 2013-05-03) o fecha con hora (es decir, 2013-05-03 12:20:00). Esta columna tiene el valor como marca de tiempo para todas las filas actualmente y tiene la misma parte de fecha (2013-05-03) pero diferencia en parte de tiempo.
Cuando comparo esta columna, obtengo resultados diferentes. Como los siguientes:
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
Mi pregunta es cómo puedo hacer posible que la primera consulta obtenga resultados, quiero decir, ¿por qué la tercera consulta está funcionando pero no la primera?
¿Puede alguien ayudarme con esto? Gracias por adelantado.
'2013-05-03'::datey'1 day'::interval) PostgreSQL específica?