Re: Using CASE with a boolean value - Mailing list pgsql-novice

From Joel Burton
Subject Re: Using CASE with a boolean value
Date
Msg-id JGEPJNMCKODMDHGOBKDNAEHECPAA.joel@joelburton.com
Whole thread Raw
In response to Using CASE with a boolean value  (Tom Ansley <tansley@law.du.edu>)
List 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@joelburton.com | joelburton.com | aim: wjoelburton
Knowledge Management & Technology Consultant


pgsql-novice by date:

Previous
From: Tom Ansley
Date:
Subject: Using CASE with a boolean value
Next
From: Tom Ansley
Date:
Subject: Re: Using CASE with a boolean value