Re: [SQL] Booleans and Casting - Mailing list pgsql-sql

From jose' soares
Subject Re: [SQL] Booleans and Casting
Date
Msg-id 36C931A3.3941DCAE@bo.nettuno.it
Whole thread Raw
In response to Booleans and Casting  (Paul Ramsey <pramsey@refractions.net>)
List 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@refractions.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 -
 

pgsql-sql by date:

Previous
From: Justin Subert
Date:
Subject: [SQL] difficulties combining nextval and rules
Next
From: Martin Möderndorfer
Date:
Subject: creating text files out of a database