PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Zwróć wartość logiczną jako TRUE lub FALSE w Select (PostgreSQL/pgAdmin)

Jeśli wszystko, co chcesz pokazać, to dosłowne TRUE lub FALSE , możesz użyć opisów przypadku, jak zaproponowałeś. Ponieważ PostgreSQL traktuje TRUE , true , yes , on , y , t i 1 jako prawda, kontroluję, jak chcę, aby wyglądało wyjście.

Gdzie klauzula może być napisana w następujący sposób:

select * from tablename where active
--or--
select * from tablename where active = true

(Moje zalecenie jest takie samo jak w przypadku PostgreSQL - użyj true)

Podczas wybierania, chociaż mogą wystąpić wahania przed użyciem instrukcji case, nadal zalecam zrobienie tego, aby mieć kontrolę nad literałem ciągu wyjściowego.

Twoje zapytanie wyglądałoby tak:

select 
  case when active = TRUE then 'TRUE' else 'FALSE' end as active_status,
  ...other columns...
from tablename
where active = TRUE;

Przykład 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 |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie PostgreSQL działa szybciej dzięki skanowaniu indeksu, ale silnik wybiera połączenie haszowe

  2. Wyjątek Postgres :zapytanie nie zwróciło żadnych wyników.

  3. Kolumna postgreSQL nie istnieje, gdzie foo jest wartością

  4. Korzystanie z klauzuli EXCEPT w PostgreSQL

  5. Ustawianie domyślnej wartości dla kolumny json