From: | JC de Villa <jc(dot)devilla(at)gmail(dot)com> |
---|---|
To: | PostgreSQL <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Auto Adjust Age |
Date: | 2011-04-06 15:24:08 |
Message-ID: | BANLkTimzy4zo-xTjpCKKTFPL+pNTNmrw=w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Wed, Apr 6, 2011 at 11:15 PM, Jerry Sievers <gsievers19(at)comcast(dot)net> wrote:
> Carlos Mennens <carlos(dot)mennens(at)gmail(dot)com> writes:
>
>> CREATE TABLE users
>> (
>> id integer PRIMARY KEY UNIQUE NOT NULL, --ID
>> fname character varying(40) NOT NULL, --First name
>> lname character varying(40) NOT NULL, --Last name
>> email character varying NOT NULL, --email address
>> office integer NOT NULL, --Office number
>> dob date NOT NULL, --Date of birth
>> age integer NOT NULL --Age
>> )
>> ;
>>
>> Is there a way in SQL I can have the users 'age' be auto adjusted
>> based on the 'id' & 'dob'? I would assume this is possible because if
>> you have 100 employees, I doubt someone has time to sit and change
>> everyone's age from 31 > 32 on their birthday. Can someone please help
>> explain how this works or what the SQL code would look like assuming
>> that it's possible? I have no advanced far enough to see what triggers
>> and views are so perhaps it's just my level with SQL in general.
>
> I'd suggest not storing age but instead wrapping with a view that calls
> date_trunc('year', now() - dob).
>
> If you must store the age then you have to run a daily batch to make the
> bulk update.
Theres also the age() function....
SELECT age(dob);
Should give you
age
-------------------------
31 years 5 mons 17 days
If you want to be really exact about it. :)
JC de Villa
From | Date | Subject | |
---|---|---|---|
Next Message | Karsten Hilbert | 2011-04-06 15:24:29 | Re: Auto Adjust Age |
Previous Message | Andrew Sullivan | 2011-04-06 15:20:35 | Re: Auto Adjust Age |