Conversion Functions
cast Conversion Function
HetuEngine implicitly converts numeric and character values to the correct type. HetuEngine does not convert between character and numeric types. For example, if a query expects a value of the varchar type, HetuEngine does not automatically convert a value of the bigint type to a value of the varchar type.
Values can be explicitly converted to the specified type, if necessary.
- cast(value AS type) → type
Explicitly converts the type of a value. You can convert a value of the varchar type to the numeric type, or vice versa.
select cast('186' as int ); select cast(186 as varchar);
- try_cast(value AS type) → type
It is similar to cast(). The difference is that null is returned if the conversion fails.
select try_cast(1860 as tinyint); _col0 ------- NULL (1 row)
When a number overflows or a null value is converted, null is returned. However, when the conversion fails, an error is reported.
Example: select try_cast(186 as date);
Cannot cast integer to date
Format
- format(format, args...) → varchar
Description: Formats a string in the format specified by the format string and returns the formatted string.
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
Description: Returns a string formatted by unit symbol.
SELECT format_number(123456); -- '123K' SELECT format_number(1000000); -- '1M'
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)
Convert formatted values with a unit to a number. The value can be a decimal.
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
Others
typeof(expr) → varchar
Returns the data type name of an expression.
SELECT typeof(123);-- integer SELECT typeof('cat');-- varchar(3) SELECT typeof(cos(2)+1.5);-- double
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot