Conversion Functions
Presto will implicitly convert numeric and character values to the
correct type if such a conversion is possible. Presto will not convert
between character and numeric types. For example, a query that expects
a varchar will not automatically convert a bigint value to an
equivalent varchar.
When necessary, values can be explicitly cast to a particular type.
Conversion Functions
cast(value
AS
type)
->
type
(
)
Explicitly cast a value as a type. This can be used to cast a
varchar to a numeric value type and vice versa.
When casting strings to integer types such as
TINYINT
,
SMALLINT
,
INTEGER
, or
BIGINT
, leading
and trailing spaces in the string are allowed. See
Integer
.
Data Size
The
parse_presto_data_size
function supports the following units:
Description
Value
Bytes
Kilobytes
Megabytes
1024
2
Gigabytes
1024
3
Terabytes
1024
4
Petabytes
1024
5
Exabytes
1024
6
Zettabytes
1024
7
Yottabytes
1024
8
parse_presto_data_size
(
string)
->
decimal(38
)
Parses
string
of format
value
unit
into a number, where
value
is the fractional number of
unit
values:
SELECT parse_presto_data_size('1B'); -- 1
SELECT parse_presto_data_size('1kB'); -- 1024
SELECT parse_presto_data_size('1MB'); -- 1048576
SELECT parse_presto_data_size('2.3MB'); -- 2411724
typeof(expr) -> varchar()
Returns the name of the type of the provided expression:
SELECT typeof(123); -- integer
SELECT typeof('cat'); -- varchar(3)
SELECT typeof(cos(2) + 1.5); -- double