On 26 January 2012 15:37, Jon Smark <jon.sm...@yahoo.com> wrote: > Hi, > > Is it possible to do the equivalent of let-bindings in a pure SQL function? > I have a SELECT that invokes "now" multiple times. It would be nicer > to do it only once and reuse the value. Something like this: > > LET right_now = SELECT now () IN > SELECT * FROM my_table WHERE right_now >= start AND ... > > In PL/pgSQL this is easy, but I wonder about SQL... > > Thanks in advance! > Jon > > In fact now() is a little bit tricky here. now() returns the time when the transaction started, so if you run `begin;` and call now() multiple times (even in different queries, but within the same transaction), the function will return the same value.
regards Szymon