On Thu, 7 Jun 2001, Lehmeier, Michael wrote:
> Hello
>
> When I SELECT a row with a BOOLEAN in it I get either 't' or 'f'.
> But when I use this same value in the WHERE condition I get an error,
> because PostgreSQL demands either 'true' or 'false'.
>
> Example:
>
> testdb=# create table testtable (acolumn BOOLEAN);
> CREATE
> testdb=# INSERT INTO testtable VALUES (true);
> INSERT 161246 1
> testdb=# SELECT * FROM testtable;
> acolumn
> ---------
> t
> (1 row)
>
> testdb=# SELECT * FROM testtable WHERE acolumn = t;
> ERROR: Attribute 't' not found
>
> This is a real problem for me since I am currently writing on a mostly
> database independent engine. PostgreSQL would be the the first time that
> I can't write into a database what I read from it.
you mean read from a db what you wrote into it
>
> Is it possible to change the settings of PostgreSQL somewhere so that
> I get 'true' or 'false'?
>
> Thank you!
You have to give
SELECT * FROM testtable WHERE col='t'; [single quote the value]
It also works with WHERE col='true';
cheers,
thalis