Russell Smith wrote:
> One wrote:
> > Hi - I'd like to return search results based on a date range that is
> > selected by the user :
> >
> > <select name="date1yy">
> > <option value="1995-01-01" selected>1995</option>
> >
> > <select name="date2yy">
> > <option value="2006-12-31" selected>2006</option>
> >
> > My SQL is :
> >
> > select *
> > from tablename
> > where title like ('%nith%')
> > and recall_date between
> > extract(year from date '1995-01-01')
> > and extract(year from date '2006-12-31')
> > order by recall_date
> >
> > How can I add the MONTH to be included in the between statement ?
> > If I select 1995 - 2006 it currently only returns rows up to 2005-12-31
> >
> > THANKS!
> >
> Try
>
> select *
> from tablename
> where title like ('%nith%')
> and date_trunc('month',recall_date::timestamp) >= date_trunc('month','1995-01-01'::timestamp)
> and date_trunc('month',recall_date::timestamp) <= date_trunc('month','2006-12-31'::timestamp)
> order by recall_date
>
Fantastic.
Thank you to Matthias and Russell - everything is working perfectly!