

Amazon Timestream for LiveAnalytics に類似した機能をご希望の場合は Amazon Timestream for InfluxDB をご検討ください。リアルタイム分析に適した、シンプルなデータインジェストと 1 桁ミリ秒のクエリ応答時間を特徴としています。詳細については、[こちら](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)を参照してください。

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

# 条件式
<a name="conditional-expressions"></a>

Timestream for LiveAnalytics は、次の条件式をサポートしています。

**Topics**
+ [CASE ステートメント](conditional-expressions.CASE.md)
+ [IF ステートメント](conditional-expressions.IF.md)
+ [COALESCE ステートメント](conditional-expressions.COALESCE.md)
+ [NULLIF ステートメント](conditional-expressions.NULLIF.md)
+ [TRY ステートメント](conditional-expressions.TRY.md)

# CASE ステートメント
<a name="conditional-expressions.CASE"></a>

**CASE** ステートメントは、`expression` に等しい式が見つかるまで、左から右に各値式を検索します。一致が検出されると、一致する値の結果が返されます。一致が見つからない場合、存在する場合は `ELSE` 句の結果が返されます。それ以外の場合は `null` が返されます。構文は次のとおりです。

```
CASE expression
    WHEN value THEN result
    [ WHEN ... ]
    [ ELSE result ]
END
```

 Timestream は、**CASE** ステートメントの次の構文もサポートしています。この構文では、「検索済み」形式は、各ブール条件を左から右へ `true` の条件があるまで評価し、一致する結果を返します。`true` の条件がない場合、存在する場合は `ELSE` 句から結果が返され、それ以外の場合は `null` が返されます。代替構文については、以下を参照してください。

```
CASE
    WHEN condition THEN result
    [ WHEN ... ]
    [ ELSE result ]
END
```

# IF ステートメント
<a name="conditional-expressions.IF"></a>

**IF** ステートメントは条件を true または false と評価し、適切な値を返します。Timestream は、**IF** に対して次の 2 つの構文表現をサポートしています。

```
if(condition, true_value)
```

この構文は、条件が `true` の場合は `true_value` を評価して返します。それ以外の場合は `null` が返され、`true_value` は評価されません。

```
if(condition, true_value, false_value)
```

この構文は、条件が `true` の場合は `true_value` を評価して返します。それ以外の場合は `false_value` を評価して返します。

## 例
<a name="conditional-expressions.IF.examples"></a>

```
SELECT
  if(true, 'example 1'),
  if(false, 'example 2'),
  if(true, 'example 3 true', 'example 3 false'),
  if(false, 'example 4 true', 'example 4 false')
```


| \$1col0 | \$1col1 | \$1col2 | \$1col3 | 
| --- | --- | --- | --- | 
|  `example 1`  |  `-` `null`  |  `example 3 true`  |  `example 4 false`  | 

# COALESCE ステートメント
<a name="conditional-expressions.COALESCE"></a>

 **COALESCE** は、引数リストに存在する NULL 以外の最初の値を返します。構文は次のとおりです。

```
coalesce(value1, value2[,...])
```

# NULLIF ステートメント
<a name="conditional-expressions.NULLIF"></a>

**IF** ステートメントは条件を true または false と評価し、適切な値を返します。Timestream は、**IF** に対して次の 2 つの構文表現をサポートしています。

**NULLIF** は、`value1` が `value2` と等しい場合に null を返します。それ以外の場合は、`value1` を返します。構文は次のとおりです。

```
nullif(value1, value2)
```

# TRY ステートメント
<a name="conditional-expressions.TRY"></a>

**TRY** 関数は式を評価し、`null` を返すことで特定のタイプのエラーを処理します。構文は次のとおりです。

```
try(expression)
```