翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
行フィルター式での PartiQL のサポート
PartiQL データ型、演算子、および集計のサブセットを使用して、行フィルター式を構築することができます。Lake Formation では、フィルター式にユーザー定義または標準の PartiQL 関数は使用できません。比較演算子を使用して、列を定数 (例えば views >= 10000
) と比較することはできますが、列を他の列と比較することはできません。
行フィルター式は、単純式または複合式にすることができます。式の合計長は 2048 文字未満にする必要があります。
単純式
単純式は、次の形式になります: <column name > <comparison operator ><value >
-
Column name (列名)
これは、テーブルスキーマに存在する最上位レベルのデータ列、パーティション列、またはネストされた列のいずれかであり、以下に示すサポートされているデータ型に属している必要があります。
-
Comparison operator (比較演算子)
サポートされている演算子は、次のとおりです:
=, >, <, >=, <=, <>,!=, BETWEEN, IN, LIKE, NOT, IS [NOT] NULL
-
すべての文字列比較および
LIKE
パターンマッチングでは、大文字と小文字が区別されます。パーティション列に IS [NOT] NULL演算子を使用することはできません。 -
Column value (列値)
列値は、列名のデータ型に一致する必要があります。
複合式
複合式は、次の形式になります: ( <simple expression >) <AND/OR >(<simple expression >)
複合式は、論理演算子 AND/OR
を使用してさらに組み合わせることができます。
サポートされているデータ型
サポートされていないデータ型を含む AWS Glue Data Catalog テーブルを参照する行フィルターは、エラーになります。以下は、データ型にマッピングされるテーブル列と定数でサポートされている Amazon Redshift データ型です。
-
STRING, CHAR, VARCHAR
-
INT, LONG, BIGINT, FLOAT, DECIMAL, DOUBLE
-
BOOLEAN
-
STRUCT
Amazon Redshift のデータ型の詳細については、「Amazon Redshift データベースデベロッパーガイド」の「データ型」を参照してください。
行フィルター式
以下は、次の列を持つテーブルに対する有効な行フィルター式の例です: country (String), id (Long), year (partition column of type Integer), month
(partition column of type Integer)
year > 2010 and country != 'US'
(year > 2010 and country = 'US') or (month < 8 and id > 23)
(country between 'Z' and 'U') and (year = 2018)
(country like '%ited%') and (year > 2000)
ネストされた列を持つテーブルに対する有効な行フィルター式の例は、次のとおりです: year > 2010 and customer.customerId <> 1
ネストされた行レベルの式を定義するときは、パーティション列の下のネストされたフィールドを参照しないでください。
文字列定数は一重引用符で囲む必要があります。
予約キーワード
行フィルター式に PartiQL キーワードが含まれている場合、列名がキーワードと競合する可能性があることから構文解析エラーが発生します。このエラーが発生した場合は、二重引用符を使用して列名をエスケープしてください。予約キーワードの例には、「first」、「last」、「asc」、「missing」などがあります。予約キーワードのリストについては、PartiQL の仕様を参照してください。
PartiQL リファレンス
PartiQL の詳細については、https://partiql.org/