mirror of
https://github.com/apache/impala.git
synced 2025-12-25 02:03:09 -05:00
Added information in the "DOUBLE Data Type" (impala_double.html) and the "FLOAT Data Type" (impala_float.html) topics about how Impala handles NaN values. Change-Id: Id9485b6790d58fafdae32332d2634cbe893d7fb0 Reviewed-on: http://gerrit.cloudera.org:8080/7098 Reviewed-by: Michael Brown <mikeb@cloudera.com> Tested-by: Impala Public Jenkins
125 lines
4.6 KiB
XML
125 lines
4.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
-->
|
|
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
|
|
<concept id="float">
|
|
|
|
<title>FLOAT Data Type</title>
|
|
<titlealts audience="PDF"><navtitle>FLOAT</navtitle></titlealts>
|
|
<prolog>
|
|
<metadata>
|
|
<data name="Category" value="Impala"/>
|
|
<data name="Category" value="Impala Data Types"/>
|
|
<data name="Category" value="SQL"/>
|
|
<data name="Category" value="Data Analysts"/>
|
|
<data name="Category" value="Developers"/>
|
|
<data name="Category" value="Schemas"/>
|
|
</metadata>
|
|
</prolog>
|
|
|
|
<conbody>
|
|
|
|
<p>
|
|
A single precision floating-point data type used in <codeph>CREATE TABLE</codeph> and <codeph>ALTER
|
|
TABLE</codeph> statements.
|
|
</p>
|
|
|
|
<p conref="../shared/impala_common.xml#common/syntax_blurb"/>
|
|
|
|
<p>
|
|
In the column definition of a <codeph>CREATE TABLE</codeph> statement:
|
|
</p>
|
|
|
|
<codeblock><varname>column_name</varname> FLOAT</codeblock>
|
|
|
|
<p>
|
|
<b>Range:</b> 1.40129846432481707e-45 .. 3.40282346638528860e+38, positive or negative
|
|
</p>
|
|
|
|
<p>
|
|
<b>Precision:</b> 6 to 9 significant digits, depending on usage. The number of significant digits does
|
|
not depend on the position of the decimal point.
|
|
</p>
|
|
|
|
<p>
|
|
<b>Representation:</b> The values are stored in 4 bytes, using
|
|
<xref href="https://en.wikipedia.org/wiki/Single-precision_floating-point_format" scope="external" format="html">IEEE 754 Single Precision Binary Floating Point</xref> format.
|
|
</p>
|
|
|
|
<p>
|
|
<b>Conversions:</b> Impala automatically converts <codeph>FLOAT</codeph> to more precise
|
|
<codeph>DOUBLE</codeph> values, but not the other way around. You can use <codeph>CAST()</codeph> to convert
|
|
<codeph>FLOAT</codeph> values to <codeph>TINYINT</codeph>, <codeph>SMALLINT</codeph>, <codeph>INT</codeph>,
|
|
<codeph>BIGINT</codeph>, <codeph>STRING</codeph>, <codeph>TIMESTAMP</codeph>, or <codeph>BOOLEAN</codeph>.
|
|
You can use exponential notation in <codeph>FLOAT</codeph> literals or when casting from
|
|
<codeph>STRING</codeph>, for example <codeph>1.0e6</codeph> to represent one million.
|
|
<ph conref="../shared/impala_common.xml#common/cast_int_to_timestamp"/>
|
|
</p>
|
|
|
|
<p conref="../shared/impala_common.xml#common/usage_notes_blurb"/>
|
|
|
|
<!--Below conref'd content fixes IMPALA-3603-->
|
|
<p conref="../shared/impala_common.xml#common/how_impala_handles_nan_values"/>
|
|
|
|
<codeblock>
|
|
SELECT CAST('nan' AS FLOAT)=CAST('nan' AS FLOAT);
|
|
</codeblock>
|
|
|
|
<p conref="../shared/impala_common.xml#common/example_blurb"/>
|
|
|
|
<codeblock>CREATE TABLE t1 (x FLOAT);
|
|
SELECT CAST(1000.5 AS FLOAT);
|
|
</codeblock>
|
|
|
|
<p conref="../shared/impala_common.xml#common/partitioning_imprecise"/>
|
|
|
|
<p conref="../shared/impala_common.xml#common/hbase_ok"/>
|
|
|
|
<p conref="../shared/impala_common.xml#common/parquet_ok"/>
|
|
|
|
<p conref="../shared/impala_common.xml#common/text_bulky"/>
|
|
|
|
<!-- <p conref="../shared/impala_common.xml#common/compatibility_blurb"/> -->
|
|
|
|
<p conref="../shared/impala_common.xml#common/internals_4_bytes"/>
|
|
|
|
<!-- <p conref="../shared/impala_common.xml#common/added_in_20"/> -->
|
|
|
|
<p conref="../shared/impala_common.xml#common/column_stats_constant"/>
|
|
|
|
<p conref="../shared/impala_common.xml#common/restrictions_blurb"/>
|
|
|
|
<!-- This conref appears under SUM(), AVG(), FLOAT, and DOUBLE topics. -->
|
|
|
|
<p conref="../shared/impala_common.xml#common/sum_double"/>
|
|
|
|
<p conref="../shared/impala_common.xml#common/float_double_decimal_caveat"/>
|
|
|
|
<p conref="../shared/impala_common.xml#common/kudu_blurb"/>
|
|
<p conref="../shared/impala_common.xml#common/kudu_non_pk_data_type"/>
|
|
|
|
<p conref="../shared/impala_common.xml#common/related_info"/>
|
|
|
|
<p>
|
|
<xref href="impala_literals.xml#numeric_literals"/>, <xref href="impala_math_functions.xml#math_functions"/>,
|
|
<xref href="impala_double.xml#double"/>
|
|
</p>
|
|
</conbody>
|
|
</concept>
|