Nếu tất cả những gì bạn muốn hiển thị là chữ TRUE
hoặc FALSE
, bạn có thể sử dụng các trường hợp như bạn đã đề xuất. Vì PostgreSQL xử lý TRUE
, true
, yes
, on
, y
, t
và 1
đúng như vậy, tôi sẽ kiểm soát cách tôi muốn đầu ra trông như thế nào.
Mệnh đề Where có thể được viết như:
select * from tablename where active
--or--
select * from tablename where active = true
(Đề xuất của tôi giống với PostgreSQL - sử dụng true)
Khi chọn, mặc dù có thể do dự khi sử dụng các câu lệnh trường hợp, tôi vẫn khuyên bạn nên làm điều đó để có quyền kiểm soát đối với chuỗi đầu ra của bạn.
Truy vấn của bạn sẽ giống như sau:
select
case when active = TRUE then 'TRUE' else 'FALSE' end as active_status,
...other columns...
from tablename
where active = TRUE;
Ví dụ về 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 |