Обсуждение: return true / false instead of int4 value
Howdy:
I want to know if this is even possible: How
can I return a true/false value instead of
integer?
I want to do something like this:
[snip]
select count(*) from t_table
having count(*) > 1500000
[/snip]
But want to return a true/false (bool) result.
Background:
The goal is to do what I have been doing for the
past few weeks - get a count of a table and,
based on the count, either create a new table
or fail and halt the rest of the related process.
I've done the function thing - it doesn't work
very well. It stalls a few times and somehow
I created a bogus function type in one of the
system tables ... so ... I'm going to stay
away from that.
I've created a perl script to do exactly what
I want! ... 'cept ... during the regular
database refresh, it doesn't complete
until well AFTER I need it to ... other views
and tables are dependent on this one being
created first.
SO ... I'm looking for a nitch on how to
convert (and cast won't work for me) the
type from 'int4' to 'bool' for the above
sql excerpt.
*whew*
Suggestion?
HEY: Somebody send me some disco ... er ...
motivation music!
-X
On Tue, 4 Jun 2002, Johnson, Shaunn wrote: > Howdy: > > I want to know if this is even possible: How > can I return a true/false value instead of > integer? > > I want to do something like this: > > [snip] > > select count(*) from t_table > having count(*) > 1500000 > > [/snip] > > But want to return a true/false (bool) result. Wouldn't select count(*)>1500000 from t_table; give you a true/false based on whether the count is greater than that number?
select count(*) from t_table
having count(*) > 1500000
[/snip]
But want to return a true/false (bool) result.
Off the top of my head:
select count > 1500000 from (select count(*) as count from t_table) as a;
Doug
Peter Darley
-----Original Message-----
From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org]On Behalf Of Johnson, Shaunn
Sent: Tuesday, June 04, 2002 9:00 AM
To: pgsql-general@postgresql.org
Subject: [GENERAL] return true / false instead of int4 valueHowdy:
I want to know if this is even possible: How
can I return a true/false value instead of
integer?I want to do something like this:
[snip]
select count(*) from t_table
having count(*) > 1500000
[/snip]But want to return a true/false (bool) result.
Background:
The goal is to do what I have been doing for the
past few weeks - get a count of a table and,
based on the count, either create a new table
or fail and halt the rest of the related process.
I've done the function thing - it doesn't work
very well. It stalls a few times and somehow
I created a bogus function type in one of the
system tables ... so ... I'm going to stay
away from that.
I've created a perl script to do exactly what
I want! ... 'cept ... during the regular
database refresh, it doesn't complete
until well AFTER I need it to ... other views
and tables are dependent on this one being
created first.
SO ... I'm looking for a nitch on how to
convert (and cast won't work for me) the
type from 'int4' to 'bool' for the above
sql excerpt.
*whew*
Suggestion?
HEY: Somebody send me some disco ... er ...
motivation music!
-X
--Thanks all (esp. doug, peter, stephan)
--works like a charm!
-X
-----Original Message-----
From: Stephan Szabo [mailto:sszabo@megazone23.bigpanda.com]
On Tue, 4 Jun 2002, Johnson, Shaunn wrote:
> Howdy:
>
> I want to know if this is even possible: How
> can I return a true/false value instead of
> integer?
>
> I want to do something like this:
>
> [snip]
>
> select count(*) from t_table
> having count(*) > 1500000
>
> [/snip]
>
> But want to return a true/false (bool) result.
Wouldn't select count(*)>1500000 from t_table;
give you a true/false based on whether the count
is greater than that number?