翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ジェネレーター関数
注記
これらのSQL関数をサポートする AWS データソース統合を確認するには、「」を参照してくださいサポートされている OpenSearch SQLコマンドと関数。
関数 | 説明 |
---|---|
explode (expr) | 配列「expr」の要素を複数の行に分割するか、マップ「expr」の要素を複数の行と列に分割します。特に指定がない限り、 は配列の要素にデフォルトの列名「col」を使用し、マップの要素に「key」と「value」を使用します。 |
explode_outer(expr) | 配列「expr」の要素を複数の行に分割するか、マップ「expr」の要素を複数の行と列に分割します。特に指定がない限り、 は配列の要素にデフォルトの列名「col」を使用し、マップの要素に「key」と「value」を使用します。 |
inline(expr) | 構造体の配列をテーブルに分解します。特に指定がない限り、デフォルトで col1、col2 などの列名を使用します。 |
inline_outer (expr) | 構造体の配列をテーブルに分解します。特に指定がない限り、デフォルトで col1、col2 などの列名を使用します。 |
posexplode (expr) | 配列「expr」の要素を位置を持つ複数の行に、またはマップ「expr」の要素を位置を持つ複数の行と列に分離します。特に指定がない限り、 は列名 「pos」を位置、「col」を配列の要素、「key」および「value」をマップの要素に使用します。 |
posexplode_outer(expr) | 配列「expr」の要素を位置を持つ複数の行に、またはマップ「expr」の要素を位置を持つ複数の行と列に分離します。特に指定がない限り、 は列名 「pos」を位置、「col」を配列の要素、「key」および「value」をマップの要素に使用します。 |
stack(n, expr1, ..., exprk) | 「expr1」、「...」、「exprk」を「n」行に区切ります。特に指定がない限り、デフォルトで列名 col0、col1 などを使用します。 |
例
-- explode SELECT explode(array(10, 20)); +---+ |col| +---+ | 10| | 20| +---+ SELECT explode(collection => array(10, 20)); +---+ |col| +---+ | 10| | 20| +---+ SELECT * FROM explode(collection => array(10, 20)); +---+ |col| +---+ | 10| | 20| +---+ -- explode_outer SELECT explode_outer(array(10, 20)); +---+ |col| +---+ | 10| | 20| +---+ SELECT explode_outer(collection => array(10, 20)); +---+ |col| +---+ | 10| | 20| +---+ SELECT * FROM explode_outer(collection => array(10, 20)); +---+ |col| +---+ | 10| | 20| +---+ -- inline SELECT inline(array(struct(1, 'a'), struct(2, 'b'))); +----+----+ |col1|col2| +----+----+ | 1| a| | 2| b| +----+----+ -- inline_outer SELECT inline_outer(array(struct(1, 'a'), struct(2, 'b'))); +----+----+ |col1|col2| +----+----+ | 1| a| | 2| b| +----+----+ -- posexplode SELECT posexplode(array(10,20)); +---+---+ |pos|col| +---+---+ | 0| 10| | 1| 20| +---+---+ SELECT * FROM posexplode(array(10,20)); +---+---+ |pos|col| +---+---+ | 0| 10| | 1| 20| +---+---+ -- posexplode_outer SELECT posexplode_outer(array(10,20)); +---+---+ |pos|col| +---+---+ | 0| 10| | 1| 20| +---+---+ SELECT * FROM posexplode_outer(array(10,20)); +---+---+ |pos|col| +---+---+ | 0| 10| | 1| 20| +---+---+ -- stack SELECT stack(2, 1, 2, 3); +----+----+ |col0|col1| +----+----+ | 1| 2| | 3|NULL| +----+----+