<productname>PostgreSQL</productname> provides the
standard <acronym>SQL</acronym> type <type>boolean</type>;
see <xref linkend="datatype-boolean-table"/>.
The <type>boolean</type> type can have several states:
<quote>true</quote>, <quote>false</quote>, and a third state,
<quote>unknown</quote>, which is represented by the
<acronym>SQL</acronym> null value.
PostgreSQLでは、標準SQLのboolean
型が提供されています。
表 8.19を参照してください。
boolean
型はいくつかの状態を取ることができます。
「真」もしくは「偽」、そして第3の状態はSQLではNULL値で表現される「不明」の状態です。
表8.19 論理値データ型
名前 | 格納サイズ | 説明 |
---|---|---|
boolean | 1バイト | 真または偽の状態 |
Boolean constants can be represented in SQL queries by the SQL
key words <literal>TRUE</literal>, <literal>FALSE</literal>,
and <literal>NULL</literal>.
論理定数はSQL問い合わせの中で、SQLキーワードのTRUE
、FALSE
およびNULL
によって表現できます。
The datatype input function for type <type>boolean</type> accepts these
string representations for the <quote>true</quote> state:
boolean
のデータ型を入力する関数には次の文字列表現を「真」の状態として使うことができます。
true |
yes |
on |
1 |
and these representations for the <quote>false</quote> state: 「偽」の状態には以下の表現が使用できます。
false |
no |
off |
0 |
Unique prefixes of these strings are also accepted, for
example <literal>t</literal> or <literal>n</literal>.
Leading or trailing whitespace is ignored, and case does not matter.
t
や n
など、これらの文字列固有の接頭辞も利用できます。
先頭または末尾の空白文字は無視され、大文字小文字の区別は関係ありません。
The datatype output function for type <type>boolean</type> always emits
either <literal>t</literal> or <literal>f</literal>, as shown in
<xref linkend="datatype-boolean-example"/>.
boolean
のデータ型を出力する関数は例 8.2にあるように、常にt
かf
を出力します。
例8.2 boolean
型の使用
CREATE TABLE test1 (a boolean, b text); INSERT INTO test1 VALUES (TRUE, 'sic est'); INSERT INTO test1 VALUES (FALSE, 'non est'); SELECT * FROM test1; a | b ---+--------- t | sic est f | non est SELECT * FROM test1 WHERE a; a | b ---+--------- t | sic est
The key words <literal>TRUE</literal> and <literal>FALSE</literal> are
the preferred (<acronym>SQL</acronym>-compliant) method for writing
Boolean constants in SQL queries. But you can also use the string
representations by following the generic string-literal constant syntax
described in <xref linkend="sql-syntax-constants-generic"/>, for
example <literal>'yes'::boolean</literal>.
キーワードであるTRUE
とFALSE
はSQLクエリの中で論理定数の記述として好ましい(SQL準拠)方式です。
しかし、 4.1.2.7のリンクで記述されている、以下のような一般的な文字列リテラル定数の構文に従って'yes'::boolean
というような文字表現することもできます。
Note that the parser automatically understands
that <literal>TRUE</literal> and <literal>FALSE</literal> are of
type <type>boolean</type>, but this is not so
for <literal>NULL</literal> because that can have any type.
So in some contexts you might have to cast <literal>NULL</literal>
to <type>boolean</type> explicitly, for
example <literal>NULL::boolean</literal>. Conversely, the cast can be
omitted from a string-literal Boolean value in contexts where the parser
can deduce that the literal must be of type <type>boolean</type>.
パーサーは自動的にTRUE
とFALSE
はboolean
型と理解しますが、NULL
は他のすべての型に存在するため、boolean
型と理解しない点に気をつけてください。
このため、コンテキストによってはNULL::boolean
というように、NULL
をboolean
に明確にキャストする必要があります。
逆に、解析でリテラルがboolean
型でなければならないと推論できるコンテキストでは、文字列リテラルブール値のキャストは省略できます。