Re: How to implement GOMONTH function

From: Rich Shepard <rshepard(at)appl-ecosys(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: How to implement GOMONTH function
Date: 2007-05-14 20:24:01
Message-ID: Pine.LNX.4.64.0705141315330.6830@salmo.appl-ecosys.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sun, 13 May 2007, Andrus wrote:

> I need to create function GOMONTH which returns date by given number of
> month before or forward using sql or pgsql in 8.1+ For example, GOMONTH(
> DATE '20070513', 1 ) should return date '20070613' GOMONTH( DATE
> '20070513', -2 ) should return date '20070313'

Andrus,

I do not know the context for which you need this, but you can use SQL to
calculate DATE + INTERVAL. For example, you could include in a SELECT
statement

WHERE CURRENT_DATE BETWEEN (DATE '20070513' - INTERVAL '2 month') AND
(DATE '20070513' + INTERVAL '1 month')

The PostgreSQL docs have an excellent section on temporal data types.
Also, search Google with the string 'Richard T. Snodgras' (at the University
of Arizona) and download the pdf copy of his book, 'Developing Time-Oriented
Database Applications in SQL.' I learned of this book just this morning.

HTH,

Rich

--
Richard B. Shepard, Ph.D. | The Environmental Permitting
Applied Ecosystem Services, Inc. | Accelerator(TM)
<http://www.appl-ecosys.com> Voice: 503-667-4517 Fax: 503-667-8863

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2007-05-14 20:26:25 Re: Postgres Printed Manuals
Previous Message Jon Sime 2007-05-14 20:10:01 Re: Age function