Re: Quick Date/Time Index Question - Mailing list pgsql-general

From Tim Landscheidt
Subject Re: Quick Date/Time Index Question
Date
Msg-id m3obyc8bet.fsf@passepartout.tim-landscheidt.de
Whole thread Raw
In response to Quick Date/Time Index Question  ("David Johnston" <polobo@yahoo.com>)
List pgsql-general
"David Johnston" <polobo@yahoo.com> wrote:

> I have a database field that stores a timestamp to second+ precision;
> however, I want to search against it only to day precision.  If I leave the
> field in second precision and try to "WHERE field BETWEEN date0 AND date0" I
> get no results (OK, fine) but then I cast the field to date "WHERE
> field::date BETWEEN date0 AND date0" and get the expected results.  So now I
> want to index "field::date" by I cannot create a functional index on
> "field::date" OR "CAST(field AS date)" OR "date_trunc('day',field)" due to
> either syntax (::) or non-IMMUTABLE function errors (cast; date_trunc).

> Is there some other way to create an index on only the "date" portion of the
> field?  Is it even necessary since any index ordered on timestamp is also,
> by definition, order on date as well?

Not necessarily a direct answer, but have you tried querying
"WHERE field >= date0 AND field < (date0 + 1)"?

Tim

pgsql-general by date:

Previous
From: Chris Travers
Date:
Subject: Re: Replication between 64/32bit systems?
Next
From: Tom Lane
Date:
Subject: Re: Replication between 64/32bit systems?