Ho dovuto affrontare uno strano scenario quando ho confrontato le date in postgresql (versione 9.2.4 in Windows). Ho una colonna nella mia tabella che dice update_date con il tipo 'timestamp senza fuso orario'. Il cliente può cercare su questo campo solo con la data (es .: 2013-05-03) o la data con l'ora (es: 2013-05-03 12:20:00). Questa colonna ha il valore di data / ora per tutte le righe attualmente e ha la stessa parte della data (2013-05-03) ma la differenza nella parte del tempo.
Quando sto confrontando su questa colonna, sto ottenendo risultati diversi. Come i seguenti:
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
La mia domanda è come posso rendere possibile la prima query per ottenere risultati, intendo perché la terza query funziona ma non la prima?
Qualcuno può aiutarmi con questo? Grazie in anticipo.
'2013-05-03'::date
e'1 day'::interval
) PostgreSQL è specifica?