"select 1 where false" does indeed indicate an empty set. I was hoping for
something more elegant, but I'll take what I can get. :)
--- Bruno Wolff III <bruno@wolff.to> wrote:
> On Thu, Jun 08, 2006 at 14:40:12 -0700,
> CG <cgg007@yahoo.com> wrote:
> > PostgreSQL 8.1
> >
> > I've been trying to write a SQL prepare routine. One of the challenging
> > elements I'm running into is an empty set ...
> >
> > "select foo from bar where foo in ? ;"
> >
> > What if "?" is an set with zero elements? What is the proper value to use
> to
> > replace "?" indicating an empty set?
>
> Something like the following suggests you can put a subquery there that
> returns
> 0 rows. I don't think that wil work for prepared queries though; so it may
> not
> help you.
>
> bruno=> select * from test where test in (select 1 where false);
> test
> ------
> (0 rows)
>
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com