Re: Non-aggregate values attached to aggregates?

From: Benjamin Smith <lists(at)benjamindsmith(dot)com>
To: Michael Fuhr <mike(at)fuhr(dot)org>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Non-aggregate values attached to aggregates?
Date: 2004-12-16 23:21:35
Message-ID: 200412161521.35985.lists@benjamindsmith.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thanks much for your help!

It took a few tries to get what it was all about, but I got it.

On Thursday 16 December 2004 14:09, Michael Fuhr wrote:
> > Dates are kept as ]YYYYMMDD', eg 2004114 for Nov 14, 2004.
>
> Why not use a DATE type? You can reformat it with to_char() if
> need be.

Not a bad idea. I used int because it was simple and "good enough". My app is
written in PHP, and by using strtotime() I can trap typo errors before they
get near the database (which frequently are difficult to display in a
layperson readable format)

EG:

$sql="INSERT INTO enrollments (date) values ('[date]')";
$pass=array('date'=>$_ENROLL['date'];
if (!$DB->SafeQuery($sql, $pass))
return error("Database Error: ".$DB->Error());

If there's an error here, it'd say something like: "ERROR: Bad date external
representation 'mya 11 2004'. Compare with:

$sql="INSERT INTO enrollments (date) VALUES [date]";
IF (($date=strtotime($_REQUEST['date'])) ==-1)
return Error("I'm sorry, but ".$_REQUEST['date']." does not appear to be a
valid date. Please fix and try again");
if (!$DB->SafeQuery($sql, array('date'=>$date)))
return error("Database Error: ".$DB->Error());

which is much more "friendly" to the end user.

BTW: What is to_char, and why doesn't this work in PG 7.3.x?

select to_char(datefield) from TableX;

-Ben
--
"The best way to predict the future is to invent it."
- XEROX PARC slogan, circa 1978

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tino Wildenhain 2004-12-16 23:37:17 Re: MD5
Previous Message Ernest Kim 2004-12-16 23:20:57 BTree max row size?