Skip site navigation (1) Skip section navigation (2)

Re: [SQL] Booleans and Casting

From: "jose' soares" <sferac(at)bo(dot)nettuno(dot)it>
To: Paul Ramsey <pramsey(at)refractions(dot)net>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: [SQL] Booleans and Casting
Date: 1999-02-16 08:51:47
Message-ID: 36C931A3.3941DCAE@bo.nettuno.it (view raw or flat)
Thread:
Lists: pgsql-sql

Paul Ramsey ha scritto:

> I have the following SQL statement, which doesn't work (though I wish it
> did):
>
>   select sum(value * ( plulabel = 'FO' )) from btmm group by gis_tag;
>
> PG quite correctly complains that:
>
>   ERROR:  There is more than one possible operator '*' for types
> 'float4' and 'bool' You will have to retype this query using an explicit
> cast
>
> However, when I do this:
>
>   select sum(value * int( plulabel = 'FO' )) from btmm group by gis_tag;
>
> I still get an error:
>
>   ERROR:  No such function 'int' with the specified attributes
>
> I can find no function at all to use to cast booleans to what I want,
> which is 1 = true, 0 = false (IE, the standard cast for boolean ->
> number).
>
> Any advice?
>
> --
>       __
>      /
>      | Paul Ramsey
>      | Refractions Research
>      | Email: pramsey(at)refractions(dot)net
>      | Phone: (250) 885-0632
>      \_

create function int(bool) returns int4 as
'begin
        if $1 then
            RETURN 1;
        else
            RETURN 0;
        end if;
end;' language 'plpgsql';
CREATE

drop table btmm;
DROP
create table btmm (gis_tga text, value float, plulabel text);
CREATE
insert into btmm values('a',13.2,'FO');
INSERT 190188 1
insert into btmm values('b',1.32,'FO');
INSERT 190189 1
insert into btmm values('c',31.32,'RO');
INSERT 190190 1
select sum(value * int( plulabel = 'FO' )) from btmm group by gis_tga;
 sum
----
13.2
1.32
   0
(3 rows)


--
                               - Jose' -

And behold, I tell you these things that ye may learn wisdom; that ye may
learn that when ye are in the service of your fellow beings ye are only
in the service of your God.                - Mosiah 2:17 -

In response to

pgsql-sql by date

Next:From: Martin MöderndorferDate: 1999-02-16 11:02:39
Subject: creating text files out of a database
Previous:From: Justin SubertDate: 1999-02-15 20:35:09
Subject: [SQL] difficulties combining nextval and rules

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group