7.5. Conversion Functions
Presto will implicitly convert numeric and character values to thecorrect type if such a conversion is possible. Presto will not convertbetween character and numeric types. For example, a query that expectsa varchar will not automatically convert a bigint value to anequivalent 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 avarchar to a numeric value type and vice versa.
try_cast
(value AS type) → type-
Like
cast()
, but returns null if the cast fails.
Data Size
The parse_presto_data_size
function supports the following units:
Unit | Description | Value |
---|---|---|
B | Bytes | 1 |
kB | Kilobytes | 1024 |
MB | Megabytes | 10242 |
GB | Gigabytes | 10243 |
TB | Terabytes | 10244 |
PB | Petabytes | 10245 |
EB | Exabytes | 10246 |
ZB | Zettabytes | 10247 |
YB | Yottabytes | 10248 |
parse_presto_data_size
(string) -> decimal(38)-
Parses
string
of formatvalue unit
into a number, wherevalue
is the fractional number ofunit
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
Miscellaneous
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