Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: Year Only Date Column




On Nov 23, 2004, at 10:16 PM, Jeff Flowers wrote:

I want to create a date column that contains only the year, such as
YYYY. Can this done in PostgreSQL? I didn't see this listed in the
handbook and right now, the only way I can see to do would be to create
a numeric data field with zero scale and a precision of four.

You could do that, or create a domain that would restrict the date to only be, say, CCYY-01-01, which would represent the year. Something like:

test=# create domain date_year as date check (Date_trunc('year',value) = value);
CREATE DOMAIN
test=# select '1990-01-01'::date_year;
 date_year
------------
 1990-01-01
(1 row)

test=# select '1990-02-01'::date_year;
ERROR: value for domain date_year violates check constraint "date_year_check"

It'll throw an error if you try to enter a date that isn't on January 1 of that year.

Just an idea.

Michael Glaesemann
grzm myrealbox com




Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group