pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Josh Berkus <josh@agliodbs.com>
To: pauLSiew <paul@mqplayharder.com>
To: pgsql-sql@postgresql.org
Subject: Re: Date Problem
Date: Fri, 22 Feb 2002 08:51:55 -0800
Message-ID: <web-700688@davinci.ethosmedia.com> (raw)
In-Reply-To: <a54b0m$2qvq$1@jupiter.hub.org>

Paul,

> I'm using pgsql with php, and my query below will retrieve employee's
> monthly sales total,
> 
> "select sum(salesTotal) from ocf where employeeNo='0123' AND
>  orderDate like
> '%$month $year %'" // i put % infront to ignore day, and % at the
>  back to
> ignore the time (because i'm using timestamp with timezone), then i
>  shall
> get particular month's records.

The main problem is that you are treating the TIMESTAMP field like it
 is text.  It is not.  You cannot use comparitors designed for text
 parsing (such as "LIKE '%xxxyyy%') on TIMESTAMPs and get reliable
 results.

Instead, use functions designed for TIMESTAMPs:
http://www.postgresql.org/idocs/index.php?functions-datetime.html

For example, you could:
SELECT ... WHERE EXTRACT(month FROM orderdate) = $month AND
 EXTRACT(year FROM orderdate) = $year;
... but there are a few ways you can answer this question.  Read the
 documentation page; better yet, buy and read a PostgreSQL book.

-Josh Berkus

P.S. In the future, questions of this type are more appropriate for the
 NOVICE list.  The SQL list is more for the
 "how-do-I-get-this-insanely-complex-query-to-perform" type.




______AGLIO DATABASE SOLUTIONS___________________________
                                       Josh Berkus
  Complete information technology      josh@agliodbs.com
   and data management solutions       (415) 565-7293
  for law firms, small businesses        fax 621-2533
    and non-profit organizations.      San Francisco



view thread (10+ messages)  latest in thread

Message-ID: <web-700688@davinci.ethosmedia.com>
Permalink:  ../web-700688@davinci.ethosmedia.com/
Also on:    postgresql.org/message-id/web-700688@davinci.ethosmedia.com

 · 

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: josh@agliodbs.com, paul@mqplayharder.com
  Subject: Re: Date Problem
  In-Reply-To: <web-700688@davinci.ethosmedia.com>

* 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