Conversion functions#
Trino will implicitly convert numeric and character values to the correct type if such a conversion is possible. Trino 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. 
Formatting#
- format(format, args...) varchar#
- Returns a formatted string using the specified format string and arguments: - SELECT format('%s%%', 123); -- '123%' SELECT format('%.5f', pi()); -- '3.14159' SELECT format('%03d', 8); -- '008' SELECT format('%,.2f', 1234567.89); -- '1,234,567.89' SELECT format('%-7s,%7s', 'hello', 'world'); -- 'hello , world' SELECT format('%2$s %3$s %1$s', 'a', 'b', 'c'); -- 'b c a' SELECT format('%1$tA, %1$tB %1$te, %1$tY', date '2006-07-04'); -- 'Tuesday, July 4, 2006' 
- format_number(number) varchar#
- Returns a formatted string using a unit symbol: - SELECT format_number(123456); -- '123K' SELECT format_number(1000000); -- '1M' 
Data size#
The parse_data_size function supports the following units:
| Unit | Description | Value | 
|---|---|---|
| 
 | Bytes | 1 | 
| 
 | Kilobytes | 1024 | 
| 
 | Megabytes | 10242 | 
| 
 | Gigabytes | 10243 | 
| 
 | Terabytes | 10244 | 
| 
 | Petabytes | 10245 | 
| 
 | Exabytes | 10246 | 
| 
 | Zettabytes | 10247 | 
| 
 | Yottabytes | 10248 | 
- parse_data_size(string)#
- Parses - stringof format- value unitinto a number, where- valueis the fractional number of- unitvalues:- SELECT parse_data_size('1B'); -- 1 SELECT parse_data_size('1kB'); -- 1024 SELECT parse_data_size('1MB'); -- 1048576 SELECT parse_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