> 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