- カテゴリ:
半構造化データ関数と構造化データ関数 (キャスト)
AS_ARRAY¶
VARIANT 値を配列にキャストします。
- こちらもご参照ください。
構文¶
AS_ARRAY( <variant_expr> )
引数¶
variant_expr
VARIANT型の値に評価される式です。
使用上の注意¶
variant_expr
に ARRAY 型の値が含まれていない場合、関数は NULL を返します。
この関数は、入力引数として 構造型 をサポートしていません。
例¶
これは、関数の使用方法を示しています。
テーブルとデータを作成します。
CREATE TABLE multiple_types ( array1 VARIANT, array2 VARIANT, boolean1 VARIANT, char1 VARIANT, varchar1 VARIANT, decimal1 VARIANT, double1 VARIANT, integer1 VARIANT, object1 VARIANT ); INSERT INTO multiple_types (array1, array2, boolean1, char1, varchar1, decimal1, double1, integer1, object1) SELECT TO_VARIANT(TO_ARRAY('Example')), TO_VARIANT(ARRAY_CONSTRUCT('Array-like', 'example')), TO_VARIANT(TRUE), TO_VARIANT('X'), TO_VARIANT('I am a real character'), TO_VARIANT(1.23::DECIMAL(6, 3)), TO_VARIANT(3.21::DOUBLE), TO_VARIANT(15), TO_VARIANT(TO_OBJECT(PARSE_JSON('{"Tree": "Pine"}'))) ;クエリを実行します。 VARIANT 値として保存された真の配列は、 ARRAY 値に変換されます。ただし、列object1の値は ARRAY ではありませんでしたが、 NULLに変換されます。
SELECT AS_ARRAY(array1) AS "ARRAY1", AS_ARRAY(array2) AS "ARRAY2", AS_OBJECT(object1) AS "OBJECT", AS_ARRAY(object1) AS "OBJECT AS ARRAY" FROM multiple_types; +-------------+-----------------+------------------+-----------------+ | ARRAY1 | ARRAY2 | OBJECT | OBJECT AS ARRAY | |-------------+-----------------+------------------+-----------------| | [ | [ | { | NULL | | "Example" | "Array-like", | "Tree": "Pine" | | | ] | "example" | } | | | | ] | | | +-------------+-----------------+------------------+-----------------+