変換関数

Presto は、可能な場合は数値と文字列の値を適切な型に暗黙的に変換します。Presto は、文字列と数値の型間の変換は行いません。たとえば、varchar を期待するクエリは、bigint 値を等価な varchar に自動的に変換しません。

必要に応じて、値を特定の型に明示的にキャストできます。

変換関数

cast(value AS type) -> type()

値を型として明示的にキャストします。これは、varchar を数値型にキャストしたり、その逆を行うために使用できます。

try_cast(value AS type) -> type()

cast() と同様ですが、キャストが失敗した場合は null を返します。

注記

TINYINTSMALLINTINTEGER、またはBIGINTなどの整数型に文字列をキャストする場合、文字列の先頭と末尾のスペースは許可されます。整数を参照してください。

データサイズ

parse_presto_data_size 関数は、次の単位をサポートしています

単位

説明

B

バイト

1

kB

キロバイト

1024

MB

メガバイト

10242

GB

ギガバイト

10243

TB

テラバイト

10244

PB

ペタバイト

10245

EB

エクサバイト

10246

ZB

ゼタバイト

10247

YB

ヨタバイト

10248

parse_presto_data_size(string) -> decimal(38)

value unit の形式の string を数値に解析します。ここで、valueunit 値の小数値です。

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