Re: Using CASE with a boolean value

From: "Joel Burton" <joel(at)joelburton(dot)com>
To: <tansley(at)law(dot)du(dot)edu>, "Postgresql Novice List" <pgsql-novice(at)postgresql(dot)org>
Subject: Re: Using CASE with a boolean value
Date: 2002-05-24 15:59:37
Message-ID: JGEPJNMCKODMDHGOBKDNAEHECPAA.joel@joelburton.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice


> I'm trying to use a case statement with a boolean value. i.e.
> if the value =
> false then output 'NO', if value = true then output 'YES'. This
> is what I
> came up with
>
> CASE booking.quiz
> WHEN booking.quiz=false THEN 'No'
> WHEN booking.quiz=true THEN 'Yes'
> ELSE 'No'
> END
>
> But, it isn't working. Everything compiles and the rows returned
> are correct
> but it still returns 'true' or 'false' rather than 'YES' or 'NO'.
> I've also
> tried this
>
> CASE booking.quiz
> WHEN booking.quiz='f' THEN 'No'
> WHEN booking.quiz='t' THEN 'Yes'
> ELSE 'No'
> END
>
> and this
>
> CASE booking.quiz
> WHEN booking.quiz='false' THEN 'No'
> WHEN booking.quiz='true' THEN 'Yes'
> ELSE 'No'
> END
>
> Anybody got any ideas? Should the value be cast into a string?

create table bools (b bool);
insert into bools values (true);
insert into bools values (false);
select case b when true then 'yes' when false then 'no' else 'unknown' end
from bools;

case
------
yes
no
(2 rows)

Seems to work just fine. Can you post a full example of this not working,
please?

- J.

Joel BURTON | joel(at)joelburton(dot)com | joelburton.com | aim: wjoelburton
Knowledge Management & Technology Consultant

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message Tom Ansley 2002-05-24 16:15:55 Re: Using CASE with a boolean value
Previous Message Tom Ansley 2002-05-24 15:55:04 Using CASE with a boolean value