

Para obtener capacidades similares a las de Amazon Timestream, considere Amazon Timestream LiveAnalytics para InfluxDB. Ofrece una ingesta de datos simplificada y tiempos de respuesta a las consultas en milisegundos de un solo dígito para realizar análisis en tiempo real. Obtenga más información [aquí](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Expresiones condicionales
<a name="conditional-expressions"></a>

Timestream for LiveAnalytics admite las siguientes expresiones condicionales.

**Topics**
+ [La instrucción CASE](conditional-expressions.CASE.md)
+ [La instrucción IF](conditional-expressions.IF.md)
+ [La instrucción COALESCE](conditional-expressions.COALESCE.md)
+ [La instrucción NULLIF](conditional-expressions.NULLIF.md)
+ [La instrucción TRY](conditional-expressions.TRY.md)

# La instrucción CASE
<a name="conditional-expressions.CASE"></a>

La instrucción **CASE** busca cada expresión de valor de izquierda a derecha hasta encontrar una que sea igual a `expression`. Si encuentra una coincidencia, se devuelve el resultado del valor coincidente. Si no se encuentra ninguna coincidencia, se devuelve el resultado de la cláusula `ELSE`, si existe; de lo contrario, se devuelve `null`. La sintaxis es la siguiente:

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

 Timestream también admite la siguiente sintaxis para las instrucciones **CASE**. En esta sintaxis, el formulario “buscado” evalúa cada condición booleana de izquierda a derecha hasta que aparezca una `true` y devuelve el resultado coincidente. Si no hay condiciones `true`, se devuelve el resultado de la cláusula `ELSE` si existe; de lo contrario, se devuelve`null`. Consulte la sintaxis alternativa a continuación: 

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

# La instrucción IF
<a name="conditional-expressions.IF"></a>

La instrucción **IF** evalúa una condición como verdadera o falsa y devuelve el valor adecuado. Timestream admite las dos siguientes representaciones sintácticas para **IF**:

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

Esta sintaxis evalúa y devuelve `true_value` si la condición es `true`; de lo contrario, se devuelve `null` y `true_value` no se evalúa.

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

Esta sintaxis evalúa y devuelve `true_value` si la condición es `true`; de lo contrario, se evalúa y devuelve `false_value`.

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

# La instrucción COALESCE
<a name="conditional-expressions.COALESCE"></a>

 **COALESCE** devuelve el primer valor no nulo en una lista de argumentos. La sintaxis es la siguiente:

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

# La instrucción NULLIF
<a name="conditional-expressions.NULLIF"></a>

La instrucción **IF** evalúa una condición como verdadera o falsa y devuelve el valor adecuado. Timestream admite las dos siguientes representaciones sintácticas para **IF**:

**NULLIF** devuelve nulo si `value1` es igual a `value2`; de lo contrario, devuelve `value1`. La sintaxis es la siguiente:

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

# La instrucción TRY
<a name="conditional-expressions.TRY"></a>

La función **TRY** evalúa una expresión y la devuelve `null` para tratar ciertos tipos de errores. La sintaxis es la siguiente:

```
try(expression)
```