Jenis Boolean - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Jenis Boolean

Gunakan tipe BOOLEAN data untuk menyimpan nilai true dan false dalam kolom single-byte. Tabel berikut menjelaskan tiga kemungkinan status untuk nilai Boolean dan nilai literal yang menghasilkan keadaan itu. Terlepas dari string input, kolom Boolean menyimpan dan mengeluarkan “t” untuk true dan “f” untuk false.

Status Nilai literal yang valid Penyimpanan
True TRUE 't' 'true' 'y' 'yes' '1' 1 byte
False FALSE 'f' 'false' 'n' 'no' '0' 1 byte
Tidak Diketahui NULL 1 byte

Anda dapat menggunakan perbandingan IS untuk memeriksa nilai Boolean hanya sebagai predikat dalam klausa. WHERE Anda tidak dapat menggunakan perbandingan IS dengan nilai Boolean dalam SELECT daftar.

Contoh

Anda dapat menggunakan BOOLEAN kolom untuk menyimpan status “Aktif/Tidak Aktif” untuk setiap pelanggan dalam tabel. CUSTOMER

create table customer( custid int, active_flag boolean default true);
insert into customer values(100, default);
select * from customer; custid | active_flag -------+-------------- 100 | t

Jika tidak ada nilai default (trueataufalse) yang ditentukan dalam CREATE TABLE pernyataan, memasukkan nilai default berarti memasukkan null.

Dalam contoh ini, kueri memilih pengguna dari USERS tabel yang menyukai olahraga tetapi tidak menyukai teater:

select firstname, lastname, likesports, liketheatre from users where likesports is true and liketheatre is false order by userid limit 10; firstname | lastname | likesports | liketheatre ----------+------------+------------+------------- Lars | Ratliff | t | f Mufutau | Watkins | t | f Scarlett | Mayer | t | f Shafira | Glenn | t | f Winifred | Cherry | t | f Chase | Lamb | t | f Liberty | Ellison | t | f Aladdin | Haney | t | f Tashya | Michael | t | f Lucian | Montgomery | t | f (10 rows)

Contoh berikut memilih pengguna dari USERS tabel untuk siapa tidak diketahui apakah mereka menyukai musik rock.

select firstname, lastname, likerock from users where likerock is unknown order by userid limit 10; firstname | lastname | likerock ----------+----------+---------- Rafael | Taylor | Vladimir | Humphrey | Barry | Roy | Tamekah | Juarez | Mufutau | Watkins | Naida | Calderon | Anika | Huff | Bruce | Beck | Mallory | Farrell | Scarlett | Mayer | (10 rows)

Contoh berikut mengembalikan kesalahan karena menggunakan perbandingan IS dalam SELECT daftar.

select firstname, lastname, likerock is true as "check" from users order by userid limit 10; [Amazon](500310) Invalid operation: Not implemented

Contoh berikut berhasil karena menggunakan perbandingan yang sama (=) dalam SELECT daftar alih-alih perbandingan IS.

select firstname, lastname, likerock = true as "check" from users order by userid limit 10; firstname | lastname | check ----------+-----------+------ Rafael | Taylor | Vladimir | Humphrey | Lars | Ratliff | true Barry | Roy | Reagan | Hodge | true Victor | Hernandez | true Tamekah | Juarez | Colton | Roy | false Mufutau | Watkins | Naida | Calderon |