Weslee Bilodeau wrote:
> Mainly its because the value comes from a reporting system that has
> minimal brains, it passes values it gets from the user directly into a
> IE, they enter '1 month', which I use to populate the interval value,
> "ts > ( NOW() - $VALUE )"
> But, in the example I did a "timestamp - interval", the exact date, not
> NOW() - Still didn't work.
> I'm guessing anything that has to think, math, etc is not valid for
> Its not in the docs anywhere, so trying to isolate what can and can't be
This works -
CREATE FUNCTION now_interval( interval ) RETURNS timestamptz IMMUTABLE
STRICT AS $$ SELECT NOW() - $1 $$ LANGUAGE SQL ;
SELECT count(*) FROM master WHERE var_ts > now_interval( '1 month' );
This doesn't work -
SELECT count(*) FROM master WHERE var_ts > ( NOW() - '1 month'::interval );
This works for me, as the reporting system I know doesn't change
timezones, and function cache doesn't last longer then the current select?
But, its basically the exact same logic in both cases?
In response to
pgsql-hackers by date
|Next:||From: Bruce Momjian||Date: 2007-03-26 21:47:39|
|Subject: Re: BSD advertizing clause in some files|
|Previous:||From: Joris Dobbelsteen||Date: 2007-03-26 20:47:32|
|Subject: Re: Guarenteeing complex referencial integrity through custom triggers |