Re: Doing INTERVAL with NOW() versus casted timestamp

From: Andreas Kretschmer <akretschmer(at)spamfence(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Doing INTERVAL with NOW() versus casted timestamp
Date: 2013-02-16 15:41:58
Message-ID: 20130216154158.GA2849@tux
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Wells Oliver <wellsoliver(at)gmail(dot)com> wrote:

> Why does this give me two different results? 'created' is a date field:
>
> SELECT * FROM foo WHERE created >= '2013-02-16 00:00:00'::timestamp - INTERVAL
> '24 hours'

test=# select '2013-02-16 00:00:00'::timestamp - INTERVAL '24 hours';
?column?
---------------------
2013-02-15 00:00:00
(1 row)

>
> and
>
> SELECT * FROM foo WHERE created >= NOW() - INTERVAL '24 hours'

test=*# select now() - INTERVAL '24 hours';
?column?
-------------------------------
2013-02-15 16:38:51.362674+01
(1 row)

>
> First returns the 12 rows I expect where the 'created' field is 2012-02-15,
> second returns only one.

You can see the difference?

Andreas
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect. (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly." (unknown)
Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°

In response to

Browse pgsql-general by date

  From Date Subject
Next Message John Shott 2013-02-16 15:45:12 Re: Doing INTERVAL with NOW() versus casted timestamp
Previous Message Wells Oliver 2013-02-16 15:25:10 Doing INTERVAL with NOW() versus casted timestamp