変換関数¶
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