pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bart Degryse <Bart.Degryse@indicator.be>
To: Colin Wetherbee <cww@denterprises.org>
To: Frank Bax <fbax@sympatico.ca>
Cc: pgsql-sql@postgresql.org
Subject: Re: First day of month, last day of month
Date: Thu, 24 Apr 2008 16:42:26 +0200
Message-ID: <4810B871.A3DD.0030.0@indicator.be> (raw)
In-Reply-To: <481095FB.7090600@denterprises.org>
References: <f16f7ea00804240559y6694c19fx102e57ea4455b07d@mail.gmail.com>
	<48 1085D1.2010807@sympatico.ca>
	<48108813.6070401@sympatico.ca>
	<481095FB.7090600@denterprises.org>

Don't know whether it's better, but it's shorter.
With extract you have to make the extraction for both year and month (unless cases where either one doesn't matter)
With date_trunc('month', ...) you throw away anything smaller than month in one step.
I suppose having to call the function date_trunc twice and extract 4 times in the given example could make
the date_trunc version slightly faster.
Just wondering how many times you would have to do it before noticing the "speedup".


>>> Colin Wetherbee <cww@denterprises.org> 2008-04-24 16:15 >>>
Frank Bax wrote:
> Frank Bax wrote:
>> Nacef LABIDI wrote:
>>> is there a better method to retrieve all the rows with dates in the 
>>> current month.
>>
>> select * from mytable where extract(month from mydate) = extract(month 
>> from now()) and extract(year from mydate) = extract(year from now());
> 
> Sorry; I was not thinking clearly - date_trunc is better for this:
> 
> select * from mytable where date_trunc('month',mydate) = 
> date_trunc('month',now());

I have some code that uses extract() for this sort of thing.  Would you 
mind explaining how date_trunc() is better for this?

Most of my extract() results end up in <select> drop-down boxes in HTML.

Thanks.

Colin


-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

view thread (21+ messages)  latest in thread

Message-ID: <4810B871.A3DD.0030.0@indicator.be>
Permalink:  ../4810B871.A3DD.0030.0@indicator.be/
Also on:    postgresql.org/message-id/4810B871.A3DD.0030.0@indicator.be

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: Bart.Degryse@indicator.be, cww@denterprises.org, fbax@sympatico.ca
  Subject: Re: First day of month, last day of month
  In-Reply-To: <4810B871.A3DD.0030.0@indicator.be>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox