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 data BOOLEAN 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 daftar SELECT.

Contoh

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

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) ditentukan dalam pernyataan CREATE TABLE, memasukkan nilai default berarti memasukkan null.

Dalam contoh ini, kueri memilih pengguna dari tabel USERS 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 tabel USERS yang 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 daftar SELECT.

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 daftar SELECT 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 |