</para>
<para>
The <literal>sql_standard</literal> style produces output that conforms to
the SQL standard's specification for interval literal strings, if
the interval value meets the standard's restrictions (either year-month
only or day-time only, with no mixing of positive
and negative components). Otherwise the output looks like a standard
year-month literal string followed by a day-time literal string,
with explicit signs added to disambiguate mixed-sign intervals.
</para>
<para>
The output of the <literal>postgres</literal> style matches the output of
<productname>PostgreSQL</productname> releases prior to 8.4 when the
<xref linkend="guc-datestyle"/> parameter was set to <literal>ISO</literal>.
</para>
<para>
The output of the <literal>postgres_verbose</literal> style matches the output of
<productname>PostgreSQL</productname> releases prior to 8.4 when the
<varname>DateStyle</varname> parameter was set to non-<literal>ISO</literal> output.
</para>
<para>
The output of the <literal>iso_8601</literal> style matches the <quote>format
with designators</quote> described in section 4.4.3.2 of the
ISO 8601 standard.
</para>
<table id="interval-style-output-table">
<title>Interval Output Style Examples</title>
<tgroup cols="4">
<thead>
<row>
<entry>Style Specification</entry>
<entry>Year-Month Interval</entry>
<entry>Day-Time Interval</entry>
<entry>Mixed Interval</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>sql_standard</literal></entry>
<entry>1-2</entry>
<entry>3 4:05:06</entry>
<entry>-1-2 +3 -4:05:06</entry>
</row>
<row>
<entry><literal>postgres</literal></entry>
<entry>1 year 2 mons</entry>
<entry>3 days 04:05:06</entry>
<entry>-1 year -2 mons +3 days -04:05:06</entry>
</row>
<row>
<entry><literal>postgres_verbose</literal></entry>
<entry>@ 1 year 2 mons</entry>
<entry>@ 3 days 4 hours 5 mins 6 secs</entry>
<entry>@ 1 year 2 mons -3 days 4 hours 5 mins 6 secs ago</entry>
</row>
<row>
<entry><literal>iso_8601</literal></entry>
<entry>P1Y2M</entry>
<entry>P3DT4H5M6S</entry>
<entry>P-1Y-2M3D&zwsp;T-4H-5M-6S</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
</sect1>
<sect1 id="datatype-boolean">
<title>Boolean Type</title>
<indexterm zone="datatype-boolean">
<primary>Boolean</primary>
<secondary>data type</secondary>
</indexterm>
<indexterm zone="datatype-boolean">
<primary>true</primary>
</indexterm>
<indexterm zone="datatype-boolean">
<primary>false</primary>
</indexterm>
<para>
<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.
</para>
<table id="datatype-boolean-table">
<title>Boolean Data Type</title>
<tgroup cols="3">
<thead>
<row>
<entry>Name</entry>
<entry>Storage Size</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><type>boolean</type></entry>
<entry>1 byte</entry>
<entry>state of true or false</entry>
</row>
</tbody>
</tgroup>
</table>
<para>
Boolean constants can be represented in SQL queries by the SQL
key words <literal>TRUE</literal>, <literal>FALSE</literal>,
and <literal>NULL</literal>.
</para>
<para>