On Tue, 29 Jan 2008 17:17:39 +0000 Sam Mason <sam@xxxxxxxxxxxxx> wrote: > On Tue, Jan 29, 2008 at 06:04:48PM +0100, Ivan Sergio Borgonovo > wrote: > > select > > case > > when (a>3) then a*b > > when (a<3) then a+b > > end as pippo > > where pippo<12; > > I've tended to do: > > SELECT * > FROM ( > SELECT "complicated expression" AS pippo) x > WHERE pippo < 12; It risk to be much harder to rewrite for dumber DB than repeating the "complicated expression". Does it come with some extra cost/improvement in term of performance compared to: - repeating the code of "complicated expression" - put it in a function with the proper "attributes" (I'd say IMMUTABLE in the above case) I've some argument for all cases but it should depend on the implementation. thanks -- Ivan Sergio Borgonovo http://www.webthatworks.it ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org/