轉換函數¶
如果可以轉換,Presto 會隱含地將數值和字元值轉換為正確的類型。Presto 不會在字元和數值類型之間轉換。例如,期望 varchar 的查詢不會自動將 bigint 值轉換為等效的 varchar。
必要時,可以將值明確地轉換為特定類型。
轉換函數¶
- cast(value AS type) -> type()¶
明確地將值轉換為類型。這可以用來將 varchar 轉換為數值類型,反之亦然。
- try_cast(value AS type) -> type()¶
與
cast()
類似,但如果轉換失敗則返回 null。
注意
將字串轉換為整數類型(例如 TINYINT
、SMALLINT
、INTEGER
或 BIGINT
)時,允許字串中的前導和尾隨空格。請參閱整數。
資料大小¶
parse_presto_data_size
函數支援下列單位
單位 |
描述 |
值 |
---|---|---|
|
位元組 |
1 |
|
千位元組 |
1024 |
|
百萬位元組 |
10242 |
|
十億位元組 |
10243 |
|
兆位元組 |
10244 |
|
拍位元組 |
10245 |
|
艾位元組 |
10246 |
|
皆位元組 |
10247 |
|
堯位元組 |
10248 |
- parse_presto_data_size(string) -> decimal(38)¶
將格式為
value unit
的string
解析為數字,其中value
是unit
值的分數數字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()¶
返回所提供表達式的類型名稱
SELECT typeof(123); -- integer SELECT typeof('cat'); -- varchar(3) SELECT typeof(cos(2) + 1.5); -- double