Si todo lo que quieres mostrar es el literal TRUE
o FALSE
, puede usar las declaraciones de casos como había propuesto. Dado que PostgreSQL trata TRUE
, true
, yes
, on
, y
, t
y 1
como cierto, controlaría cómo me gustaría que se viera la salida.
Donde la cláusula se puede escribir como:
select * from tablename where active
--or--
select * from tablename where active = true
(Mi recomendación es la misma que PostgreSQL:use verdadero)
Al seleccionar, aunque puede haber dudas sobre el uso de declaraciones de casos, aún así recomendaría hacerlo para tener control sobre su cadena de salida literal.
Su consulta se vería así:
select
case when active = TRUE then 'TRUE' else 'FALSE' end as active_status,
...other columns...
from tablename
where active = TRUE;
Ejemplo de SQLFiddle:http://sqlfiddle.com/#!15/4764d/1
create table test (id int, fullname varchar(100), active boolean);
insert into test values (1, 'test1', FALSE), (2, 'test2', TRUE), (3, 'test3', TRUE);
select
id,
fullname,
case when active = TRUE then 'TRUE' else 'FALSE' end as active_status
from test;
| id | fullname | active_status |
|----|----------|---------------|
| 1 | test1 | FALSE |
| 2 | test2 | TRUE |
| 3 | test3 | TRUE |