sql >> Database >  >> RDS >> PostgreSQL

Retourneer Booleaanse waarde als TRUE of FALSE in Select (PostgreSQL/pgAdmin)

Als alles wat je wilt laten zien de letterlijke TRUE is of FALSE , kunt u de casusverklaringen gebruiken zoals u had voorgesteld. Aangezien PostgreSQL TRUE behandelt , true , yes , on , y , t en 1 als waar, zou ik bepalen hoe ik wil dat de uitvoer eruitziet.

Waar clausule kan worden geschreven als:

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

(Mijn aanbeveling is hetzelfde als PostgreSQL - gebruik true)

Bij het selecteren, hoewel er misschien aarzeling is om de case-statements te gebruiken, raad ik je toch aan om dat te doen om controle te hebben over je letterlijke uitvoertekenreeks.

Uw zoekopdracht ziet er als volgt uit:

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

SQLFiddle-voorbeeld: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. Hoe de waitevent Geschiedenis van de Oracle-sessie te vinden

  2. SQL Server:moet ik information_schema-tabellen gebruiken in plaats van sys-tabellen?

  3. MySQL:vind snel rijen die geen overeenkomstige rij in een andere tabel hebben

  4. Chart.js - Gegevens uit de database halen met mysql en php