| From: | Alex Satrapa <alex(at)lintelsys(dot)com(dot)au> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: boolean to int |
| Date: | 2004-03-16 00:15:35 |
| Message-ID: | 40564727.4030007@lintelsys.com.au |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Pavel Stehule wrote:
> create or replace function int2bool (integer) returns boolean as '
> select case when $1=1 then ''t''::boolean else ''f''::boolean end;
> ' language sql;
I'd do it slightly differently, if only to cater to the principle of least surprise:
create or replace function int2bool (integer) returns boolean as '
select case when $1=0 then false else true end;
' language sql
That way, 0 maps to false, any non-zero value becomes true.
> create or replace function bool2int (boolean) returns integer as '
> select case when $1 then 0 else 1 end; ' language sql;
And that's back-to-front ;)
create or replace function bool2int (boolean) returns integer as '
select case when $1 then 1 else 0 end;
' language sql
Thanks for the example of the use of casts.
Alex Satrapa
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Mage | 2004-03-16 00:23:16 | Re: boolean to int |
| Previous Message | Tom Lane | 2004-03-16 00:13:25 | Re: Trigger loop question |