INT data type
A 4-byte integer data type used in CREATE TABLE
and ALTER
TABLE
statements.
Syntax:
In the column definition of a CREATE TABLE
statement:
column_name INT
Range: -2147483648 .. 2147483647. There is no UNSIGNED
subtype.
Conversions: Impala automatically converts to a larger integer type (BIGINT
) or a
floating-point type (FLOAT
or DOUBLE
) automatically. Use
CAST()
to convert to TINYINT
, SMALLINT
,
STRING
, or TIMESTAMP
.
Casting an integer or floating-point
value N
to TIMESTAMP
produces a
value that is N
seconds past the start of the epoch
date (January 1, 1970). By default, the result value represents a date
and time in the UTC time zone. If the setting
‑‑use_local_tz_for_unix_timestamp_conversions=true
is in effect, the resulting TIMESTAMP
represents a
date and time in the local time zone.
Usage notes:
The data type INTEGER
is an alias for INT
.
For a convenient and automated way to check the bounds of the INT
type, call the functions
MIN_INT()
and MAX_INT()
.
If an integer value is too large to be represented as a INT
, use a BIGINT
instead.
NULL considerations: Casting any non-numeric value to this type produces a NULL
value.
Examples:
CREATE TABLE t1 (x INT);
SELECT CAST(1000 AS INT);
Partitioning: Prefer to use this type for a partition key column. Impala can process the numeric
type more efficiently than a STRING
representation of the value.
HBase considerations: This data type is fully compatible with HBase tables.
Text table considerations: Values of this type are potentially larger in text tables than in tables using Parquet or other binary formats.
Internal details: Represented in memory as a 4-byte value.
Added in: Available in all versions of Impala.
Column statistics considerations: Because this type has a fixed size, the maximum and average size
fields are always filled in for column statistics, even before you run the COMPUTE STATS
statement.