Impala SQL data types
Impala supports a set of data types that you can use for table columns, expression values, and function arguments and return values. You must be aware of the supported data types, the purpose each data type serves, and the casting behaviour for each data type, prior to using them.
For the notation to write literals of each of these data types, see Literals.
Impala supports a limited set of implicit casts to avoid undesired results from unexpected casting behavior.
- Impala does not implicitly cast between string and numeric or
Boolean types. Always use
CAST()
for these conversions. - Impala does perform implicit casts among the numeric types, when
going from a smaller or less precise type to a larger or more precise
one. For example, Impala will implicitly convert a
SMALLINT
to aBIGINT
orFLOAT
, but to convert fromDOUBLE
toFLOAT
orINT
toTINYINT
requires a call toCAST()
in the query. - Impala does perform implicit casts from
STRING
toTIMESTAMP
. Impala has a restricted set of literal formats for theTIMESTAMP
data type and theFROM_UNIXTIME()
format string; see TIMESTAMP data type for details.
See the topics under this section for full details on implicit and
explicit casting for each data type, and see Impala type conversion functions for
details about the CAST()
function.