Boolean to int

From: Stephane Schildknecht <sschildknecht(at)aurora-linux(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: Boolean to int
Date: 2002-07-04 17:26:35
Message-ID: 1025803595.20819.239.camel@fukse
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi,

I'd like to get 1 or 0 from a select on a boolean field.

How could I do ?

I tried the following rule, which I can't insert :

CREATE FUNCTION bool_to_int( boolean ) RETURNS integer AS '
DECLARE
my_bool ALIAS FOR $1 ;
BEGIN
-- Retourne 1 si true, 0 si false
IF my_bool IS FALSE THEN
RETURN 0 ;
ELSIF my_bool IS TRUE THEN
RETURN 1 ;
ELSE RETURN -1 ;
END IF ;
END ;
' LANGUAGE 'plpgsql';

CREATE RULE boolean_return AS ON SELECT TO DOCUMENT DO INSTEAD
SELECT
document_id,
workflow_id,
type_document_id,
image_id,
theme_id,
document_version,
document_surtitre,
document_titre,
document_chapeau,
document_synthese,
document_corps,
document_pdf,
document_date_creation,
document_mot_clef,
(bool_to_int(document_online)) as document_online,
bool_to_int(document_valid) as document_valid FROM document;

psql:cnambo_proc_stock.sql:69: ERROR: select rule's target entry 15
has different type from attribute document_online

Who could help me ?

S(at)S

--
_Stéphane SCHILDKNECHT___________________________________
| AurorA-SAS 69-71, Av. Pierre Grenier 92100 BOULOGNE |
| Tel : 01.58.17.03.20 Fax : 01.58.17.03.21 |
| mailto:sschildknecht(at)aurora-linux(dot)com - ICQ : 142504394 |
| "Free Markets have taught that innovation is best when |
| ideas flow freely." Adam Smith |
|_________________________________________________________|

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Stephan Szabo 2002-07-04 18:45:42 Re: Boolean to int
Previous Message Achilleus Mantzios 2002-07-04 15:56:03 Re: how to write procedures