ARRAYTABLE
関数は、配列入力を処理して表形式の出力を生成します。関数自身が、どの列を投影するかを定義します。ARRAYTABLE
関数は暗黙的にネストされたテーブルであり、先行するFROM
Clause エントリと相関があるかもしれません。
Usage
ARRAYTABLE(expression COLUMNS <
COLUMN
>, ...)
AS
name
COLUMN
:=
name
datatype
Parameters
Parameter | Description |
---|---|
| The array to process, should be one of the following:
ARRAY( '1' , 2.2 , 3 ) |
Syntax Rules
- カラム名に重複が含まれてはいけません。
Examples
1. ネストされたテーブルとして:
SELECT x.* FROM (CALL source.invokeMDX(
'some query'
)) r, ARRAYTABLE(r.tuple COLUMNS first STRING, second BIGDECIMAL) x
2. ARRAY()
の使用:
SELECT
*
FROM
ARRAYTABLE(ARRAY(
'1'
, 2.2, 3) COLUMNS d STRING, e
DOUBLE
, f
INTEGER
) a
ARRAYTABLE
は、 関数をネストされたテーブルで使用するためのショートカットです。 ARRAY_GET
この2つの呼び出し例は基本的に同じです:
ARRAYGET(val COLUMNS col1 STRING, col2 INTEGER) AS X
TABLE(SELECT CAST(ARRAY_GET(val,
1
) AS STRING) AS col1, CAST(ARRAY_GET(val,
2
) AS INTEGER) AS col2) AS X