

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 行フィルター式での PartiQL のサポート
<a name="partiql-support"></a>

PartiQL データ型、演算子、および集計のサブセットを使用して、行フィルター式を構築することができます。Lake Formation では、フィルター式にユーザー定義または標準の PartiQL 関数は使用できません。比較演算子を使用して、列を定数 (例えば `views >= 10000`) と比較することはできますが、列を他の列と比較することはできません。

 行フィルター式は、単純式または複合式にすることができます。式の合計長は 2048 文字未満にする必要があります。

**単純式**  
単純式は、次の形式になります: ` <column name > <comparison operator ><value >`
+ **Column name** (列名)

  これは、テーブルスキーマに存在する最上位レベルのデータ列、パーティション列、またはネストされた列のいずれかであり、以下に示す[サポートされているデータ型](#row-filter-supported-datatypes)に属している必要があります。
+ **Comparison operator** (比較演算子)

   サポートされている演算子は、次のとおりです: `=, >, <, >=, <=, <>,!=, BETWEEN, IN, LIKE, NOT, IS [NOT] NULL`
+  すべての文字列比較および `LIKE` パターンマッチングでは、大文字と小文字が区別されます。IS [NOT] NULL 演算子は、パーティション列には使用できません。
+ **Column value** (列値)

   列値は、列名のデータ型に一致する必要があります。

**複合式**  
複合式は、次の形式になります: `( <simple expression >) <AND/OR >(<simple expression >)` 複合式は、論理演算子 `AND/OR` を使用してさらに組み合わせることができます。

## サポートされているデータ型
<a name="row-filter-supported-datatypes"></a>

サポートされていないデータ型を含む AWS Glue Data Catalog テーブルを参照する行フィルターはエラーになります。以下は、データ型にマッピングされるテーブル列と定数でサポートされている Amazon Redshift データ型です。
+ `STRING, CHAR, VARCHAR`
+ `INT, LONG, BIGINT, FLOAT, DECIMAL, DOUBLE`
+ `BOOLEAN`
+  `STRUCT` 

Amazon Redshift のデータ型の詳細については、「*Amazon Redshift データベースデベロッパーガイド*」の「[データ型](https://docs.aws.amazon.com/redshift/latest/dg/c_Supported_data_types.html)」を参照してください。

## 行フィルター式
<a name="Row-Filter-Expressions"></a>

**Example**  
以下は、次の列を持つテーブルに対する有効な行フィルター式の例です: ` 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)`

**Example**  
ネストされた列を持つテーブルに対する有効な行フィルター式の例は、次のとおりです: `year > 2010 and customer.customerId <> 1 `   
 ネストされた行レベルの式を定義するときは、パーティション列の下のネストされたフィールドを参照しないでください。

文字列定数は一重引用符で囲む必要があります。

## 予約キーワード
<a name="partiql-reserved-keywords"></a>

行フィルター式に PartiQL キーワードが含まれている場合、列名がキーワードと競合する可能性があることから構文解析エラーが発生します。このエラーが発生した場合は、二重引用符を使用して列名をエスケープしてください。予約キーワードの例には、「first」、「last」、「asc」、「missing」などがあります。予約キーワードのリストについては、PartiQL の仕様を参照してください。

## PartiQL リファレンス
<a name="partiql-ref"></a>

PartiQL の詳細については、[https://partiql.org/](https://partiql.org/) を参照してください。