Re: help: now() + N is now failing! - Mailing list pgsql-novice

From Tom Lane
Subject Re: help: now() + N is now failing!
Date
Msg-id 21862.1059488983@sss.pgh.pa.us
Whole thread Raw
In response to help: now() + N is now failing!  ("Mel Jamero" <mel@gmanmi.tv>)
List pgsql-novice
"Mel Jamero" <mel@gmanmi.tv> writes:
> help.  does anybody know how, without using date_pli, i can make now() + N
> work in newer versions of postgres?

Sure, make a custom operator.

regression=# select now() + 5;
ERROR:  operator does not exist: timestamp with time zone + integer
HINT:  No operator matches the given name and argument type(s). You may need to
add explicit typecasts.
regression=# create function tstz_plus_int(timestamp with time zone, int)
regression-# returns date as
regression-# 'select $1::date + $2' language sql;
CREATE FUNCTION
regression=# create operator + (
regression(# procedure = tstz_plus_int,
regression(# leftarg = timestamp with time zone,
regression(# rightarg = int);
CREATE OPERATOR
regression=# select now() + 5;
  ?column?
------------
 2003-08-03
(1 row)

regression=#

            regards, tom lane

pgsql-novice by date:

Previous
From: Nabil Sayegh
Date:
Subject: Re: Retrieving NULL records
Next
From: Dmitry Tkach
Date:
Subject: Re: help: now() + N is now failing!