PREPARATION
受験対策

Silverの例題解説
「S3.1 SQL コマンド(データ型)」

今回は、Silverの「S3 開発/SQL - S3.1 SQL コマンド(データ型)」からの出題です。

例題

3.44

論理値型(BOOLEAN型)に関する適切な記述を2つ選びなさい。

  1. 論理値型の列の値としては、キーワードのTRUEとFALSEの他に、文字列の’YES’と’NO’、整数の1と0などを設定することができる。
  2. FALSEとNULLは同等である。

  3. SELECT文で値を表示すると、INSERTやUPDATEでの設定で使った値に関わらず、tあるいはfと表示される。

  4. 実体は整数型の列で代用されているので、0以外の値は何を設定しても真であるとみなされる。

  5. bo が論理値型の列だとして、それが真である行を検索する場合、
    SELECT * FROM table_name WHERE bo;
    と書けば良い。

※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2014年8月12日

解答と解説

PostgreSQLはネイティブで論理値型をサポートしています。
論理値型の列が取りうる値は、真を意味するTRUE、偽を意味するFALSEの他にNULLがあります。整数型でNULLと0が異なるのと同じように、論理値型のNULLとFALSEは別のものです。
NULL以外の値はTRUEとFALSEの2つだけですが、INSERT文やUPDATE文で値を設定するときには、TRUE/FALSEのキーワードの他に、文字列の’true’,
‘t’, ‘yes’, ‘y’, ‘on’, ‘1’をTRUEの代わりに、’false’, ‘f’, ‘no’, ‘n’, ‘off’, 
‘0’をFALSEの代わりに使うことができます。これらのキーワードおよび文字列は、大文字、小文字のいずれで書いても構いません。なお、上記のうち’1’と’0’も文字列であって、整数の1と0は使えないことに注意してください。
SELECT文で値を表示する場合、TRUEならばt、FALSEならばfの1文字だけが表示されます。
WHERE句に記述するとき、”where bo = true”のように書いても動作しますが、列名だけで論理式になるので、単純に”where bo”とだけ書くことができます。

従って、正解はCとEです。

今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。

※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

企業の基幹システムや業務システムでの
OSS-DBの採用がますます拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定資格になります

OSS-DBの受験対策について

受験の学習をサポートする情報や対策に役立つ情報をご紹介

サンプル問題/例題解説

例題 のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関のご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

LPI-Japan
Platinum Sponsors