メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

ブール型

シングルバイト列に true 値および false 値を格納するには、BOOLEAN データ型を使用します。次の表に、ブール値の取り得る 3 つの状態と、各状態をもたらすリテラル値について説明します。入力文字列に関係なく、ブール列では、true の場合は「t」を、false の場合は「f」を格納および出力します。

状態 有効なリテラル値 ストレージ
True TRUE 't' 'true' 'y' 'yes' '1' 1 バイト
False FALSE 'f' 'false' 'n' 'no' '0' 1 バイト
不明 NULL 1 バイト

注記

以下の例に示すように、ブール値を常に明示的に確認することをお勧めします。WHERE flagWHERE NOT flag などの暗黙的な比較では、予期しない結果が返ることがあります。

BOOLEAN 列を使用すれば、CUSTOMER テーブル内の顧客ごとに「アクティブ/非アクティブ」状態を格納できます。

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

CREATE TABLE ステートメントにデフォルト値 (true または false) が指定されていない場合は、デフォルト値を挿入しても Null が挿入されます。

この例では、クエリによって、スポーツは好きだが映画館は好きでないユーザーが USERS テーブルから選択されます。

Copy
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)

この例では、ロックミュージックを好むかどうか不明なユーザーが USERS テーブルから選択されます。

Copy
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)

このページの内容: