| <?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> |