

Para recursos semelhantes aos do Amazon Timestream para, considere o Amazon Timestream LiveAnalytics para InfluxDB. Ele oferece ingestão de dados simplificada e tempos de resposta de consulta de um dígito em milissegundos para análises em tempo real. Saiba mais [aqui](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Expressões condicionais
<a name="conditional-expressions"></a>

O Timestream for LiveAnalytics suporta as seguintes expressões condicionais.

**Topics**
+ [A declaração CASE](conditional-expressions.CASE.md)
+ [A declaração IF](conditional-expressions.IF.md)
+ [A declaração COALESCE](conditional-expressions.COALESCE.md)
+ [A declaração NULLIF](conditional-expressions.NULLIF.md)
+ [A declaração TRY](conditional-expressions.TRY.md)

# A declaração CASE
<a name="conditional-expressions.CASE"></a>

A declaração **CASE** pesquisa cada expressão de valor da esquerda para a direita até encontrar uma que seja igual a `expression`. Se encontrar uma correspondência, o resultado do valor correspondente será retornado. Se nenhuma correspondência for encontrada, o resultado da cláusula `ELSE` será retornado se existir. Caso contrário, `null` será retornado. A sintaxe é a seguinte:

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

 O Timestream também suporta a seguinte sintaxe para declarações **CASE**. Nessa sintaxe, o formulário “pesquisado” avalia cada condição booleana da esquerda para a direita até que uma delas seja `true` e retorna o resultado correspondente. Se não houver condições `true`, o resultado da cláusula `ELSE` será retornado se existir. Caso contrário, `null` será retornado. Veja abaixo a sintaxe alternativa: 

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

# A declaração IF
<a name="conditional-expressions.IF"></a>

A declaração **IF** avalia uma condição como verdadeira ou falsa e retorna o valor apropriado. O Timestream suporta as duas representações de sintaxe a seguir para **IF**:

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

Essa sintaxe avalia e retorna `true_value` se a condição for `true`; caso contrário, `null` é retornado e `true_value` não é avaliado.

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

Essa sintaxe avalia e retorna `true_value` se a condição for `true`, caso contrário, avalia e retorna `false_value`.

## Exemplos
<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`  | 

# A declaração COALESCE
<a name="conditional-expressions.COALESCE"></a>

 **COALESCE** retorna o primeiro valor não nulo em uma lista de argumentos. A sintaxe é a seguinte:

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

# A declaração NULLIF
<a name="conditional-expressions.NULLIF"></a>

A declaração **IF** avalia uma condição como verdadeira ou falsa e retorna o valor apropriado. O Timestream suporta as duas representações de sintaxe a seguir para **IF**:

**NULLIF** retornará null se `value1` for igual a `value2`; caso contrário, ele retornará `value1`. A sintaxe é a seguinte:

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

# A declaração TRY
<a name="conditional-expressions.TRY"></a>

A função **TRY** avalia uma expressão e manipula certos tipos de erros retornando `null`. A sintaxe é a seguinte:

```
try(expression)
```