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
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? |