Gregory Stark <stark@enterprisedb.com> writes:
> "Bruno Wolff III" <bruno@wolff.to> writes:
>> Also what value should I have used in a coalesce to guaranty still getting
>> the maximum?
> I would expect coalesce(coalesce(greatest(a,b),a),b) to do what you want. It's
> not terribly legible though and if a and b are subselects I would worry a
> little about the optimizer rerunning them unnecessarily.
That does not work correctly for volatile functions, and it does not
scale to more than two inputs either -- you'd get the first nonnull
not the largest one.
regards, tom lane