Re: getting y/n or 1/0 from bool fields

From: Gregory Seidman <gss+pg(at)cs(dot)brown(dot)edu>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: getting y/n or 1/0 from bool fields
Date: 2002-09-03 14:30:01
Message-ID: 20020903143001.GA20582@cs.brown.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Matthew Nuzum sez:
} Hello all,
}
} Some of our development software is not really "PostgreSQL aware" in
} that it expects bool values to be y/n (ala MS Access) or 1/0. However
} it seems that Postgres returns t/f.
}
} Does anyone know a way to get Postgres to return one of the above
} (preferably, 1/0) for boolean values?
}
} Ideally, it would be somewhat of a transparent feature, so that a
} "SELECT * FROM table;" would have all bool values in the format above.

Suppose you have a table:

CREATE TABLE Foo (
id SERIAL not null,
istrue boolean not null,
primary key (id)
);

...but you want y or n instead of t or f...

CREATE VIEW FooView AS (
SELECT id, (CASE WHEN istrue THEN 'y' ELSE 'n')
FROM Foo
);

If you feel like encapsulating it, you can do the following:

CREATE FUNCTION yesno(boolean) RETURNS char(1)
AS 'SELECT (CASE WHEN $1 THEN \'y\' ELSE \'n\')'
LANGUAGE SQL;

} Any suggestions greatly apreciated,
} Matthew Nuzum
--Greg

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2002-09-03 14:32:47 Re: Call closed: Almost happy ending (from "Data files became huge with no apparent reason" thread)
Previous Message Diogo Biazus 2002-09-03 14:24:38 DELETE SQL too slow.