On Tuesday 04 October 2005 17:25, Tom Lane wrote: > han.holl@xxxxxxxxxxxxxxxxxxxx writes: > > select expensive_function(table) from table > > where expensive_function(table) is not null; > > > > Is there a way to avoid that expensive_function is evaluated twice (if > > it's not null) ? > > You can do something like this: > > select f from > (select expensive_function(table) as f from table offset 0) ss > where f is not null; > Thanks. I think I can safely say I wouldn't have invented this magic in a year. Cheers Han Holl ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend