

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á.

# AWS IoT SiteWise linguagem de consulta
<a name="sql"></a>

Com a operação da [ExecuteQuery](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ExecuteQuery.html)API de recuperação de AWS IoT SiteWise dados, você pode recuperar informações sobre definições estruturais declarativas e os dados de série temporal associados a elas, a partir do seguinte:
+ Modelos da 
+ ativos
+ medições
+ métricas
+ transformações
+ agregados

Isso pode ser feito com instruções de consulta semelhantes a SQL, em uma única solicitação de API.

**nota**  
Esse recurso está disponível em todas as regiões em que AWS IoT SiteWise está disponível, exceto AWS GovCloud (Oeste dos EUA), Canadá (Central), China (Pequim) e Leste dos EUA (Ohio). 

**Topics**
+ [Referência da linguagem de consulta para AWS IoT SiteWise](query-reference.md)

# Referência da linguagem de consulta para AWS IoT SiteWise
<a name="query-reference"></a>

 AWS IoT SiteWise suporta uma linguagem de consulta avançada para trabalhar com seus dados. Os tipos de dados, operadores, funções e constructos disponíveis são descritos nos tópicos a seguir.

Consulte [Consultas de exemplo](sql-examples.md) para escrever consultas com a linguagem de AWS IoT SiteWise consulta.

**Topics**
+ [Visualizações de referência de consulta](query-reference-views.md)
+ [Tipos de dados compatíveis](supported-data-types.md)
+ [Cláusulas compatíveis](supported-clauses.md)
+ [Operadores lógicos](sql-supported-logical.md)
+ [Operadores de comparação](sql-supported-comparision.md)
+ [Funções SQL](sql-functions.md)
+ [Consultas de exemplo](sql-examples.md)

# Visualizações de referência de consulta
<a name="query-reference-views"></a>

Esta seção fornece informações para ajudá-lo a entender as visualizações AWS IoT SiteWise, como metadados do processo e dados de telemetria.

As tabelas a seguir fornecem os nomes das visualizações e as descrições das visualizações:


**Modelo de dados**  

|  **Nome da visualização**  |  **Descrição da visualização**  | 
| --- | --- | 
|  asset  |  Contém informações sobre o ativo e a derivação do modelo.  | 
|  asset\$1property  |  Contém informações sobre a estrutura da propriedade do ativo.  | 
|  raw\$1time\$1series  |  Contém os dados históricos da série temporal.  | 
|  latest\$1value\$1time\$1series  |  Contém o valor mais recente da série temporal.  | 
|  precomputed\$1aggregates  |  Contém os valores agregados de propriedades de ativo calculados automaticamente. Eles são um conjunto de métricas básicas calculadas com base em vários intervalos de tempo.  | 

As visualizações a seguir listam os nomes das colunas e os tipos de dados de cada exibição.


**View:asset**  

|  **nome da coluna**  |  **tipodedados**  | 
| --- | --- | 
|  asset\$1id  |  string  | 
|  asset\$1name  |  string  | 
|  asset\$1description  |  string  | 
|  asset\$1model\$1id  |  string  | 
|  id\$1do\$1ativo-pai  |  string  | 
| id\$1externo do ativo | string | 
| id\$1external\$1model\$1do\$1ativo | string | 
| hierarchy\$1id | string | 


**View:asset\$1property**  

|  **nome da coluna**  |  **tipodedados**  | 
| --- | --- | 
|  asset\$1id  |  string  | 
|  property\$1id  |  string  | 
|  property\$1name  |  string  | 
|  property\$1alias  |  string  | 
|  id\$1externo\$1da\$1propriedade  |  string  | 
|  asset\$1composite\$1model\$1id  |  string  | 
|  tipo\$1do\$1propriedade  |  string  | 
|  property\$1data\$1type  |  string  | 
|  int\$1attribute\$1value  |  integer  | 
|  valor\$1do\$1atributo duplo  |  double  | 
|  valor\$1atributo\$1booleano  |  booleano  | 
|  valor\$1atributo\$1de\$1string  |  string  | 


**View:raw\$1time\$1series**  

|  **nome da coluna**  |  **tipodedados**  | 
| --- | --- | 
|  asset\$1id  |  string  | 
|  property\$1id  |  string  | 
|  property\$1alias  |  string  | 
|  event\$1timestamp  |  timestamp  | 
|  quality  |  string  | 
|  boolean\$1value  |  booleano  | 
|  int\$1value  |  integer  | 
|  double\$1value  |  double  | 
|  string\$1value  |  string  | 


**View:latest\$1value\$1time\$1series**  

|  **nome da coluna**  |  **tipodedados**  | 
| --- | --- | 
|  asset\$1id  |  string  | 
|  property\$1id  |  string  | 
|  property\$1alias  |  string  | 
|  event\$1timestamp  |  timestamp  | 
|  quality  |  string  | 
|  boolean\$1value  |  booleano  | 
|  int\$1value  |  integer  | 
|  double\$1value  |  double  | 
|  string\$1value  |  string  | 


**View:precomputed\$1aggregates**  

|  **nome da coluna**  |  **tipodedados**  | 
| --- | --- | 
|  asset\$1id  |  string  | 
|  property\$1id  |  string  | 
|  property\$1alias  |  string  | 
|  event\$1timestamp  |  timestamp  | 
|  quality  |  string  | 
|  resolução  |  string  | 
|  sum\$1value  |  double  | 
|  count\$1value  |  integer  | 
|  average\$1value  |  double  | 
|  maximum\$1value  |  double  | 
|  minimum\$1value  |  double  | 
|  stdev\$1value  |  double  | 

# Tipos de dados compatíveis
<a name="supported-data-types"></a>

AWS IoT SiteWise a linguagem de consulta oferece suporte aos seguintes tipos de dados.


**Valor escalar**  

|  **Tipo de dados**  |  **Descrição**  | 
| --- | --- | 
|  `STRING`  |  Uma string com comprimento máximo de 1.024 bytes.  | 
|  `INTEGER`  |  Um inteiro assinado de 32 bits com um intervalo de `-2,147,483,648 to 2,147,483,647`.  | 
|  `DOUBLE`  |  Um número de ponto flutuante com intervalo de`–10^100 to 10^100`, ou `Nan` com precisão `IEEE 754` dupla.  | 
|  `BOOLEAN`  |  `true` ou `false`.  | 
|  `TIMESTAMP`  |  Carimbos de data/hora compatíveis com ISO-8601: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/supported-data-types.html)  | 

**nota**  
`Null`: um booleano `true` indicando a falta de dados definidos.

**Example**  
`TIMESTAMP`exemplos de valores:  

```
TIMESTAMP '2025-12-21 23:59:59.999Z'
TIMESTAMP '2025-12-21 23:59:59+23:59'
'2025-12-21 23:59:59'
'2025-12-21T23:59:59.123+11:11'
```

**nota**  
 Os dados de precisão dupla não são exatos. Alguns valores não são convertidos exatamente e não representarão todos os números reais devido à precisão limitada. Os dados de ponto flutuante na consulta podem não ter o mesmo valor representado internamente. O valor será arredondado se a precisão de um número de entrada for muito alta. 

# Cláusulas compatíveis
<a name="supported-clauses"></a>

A `SELECT` instrução é usada para recuperar dados de uma ou mais visualizações. AWS IoT SiteWise suporta `JOIN` as `INNER JOIN` operações e.

As visualizações são unidas com uma `JOIN` sintaxe explícita ou com notações separadas por vírgula na cláusula. `FROM`

**Example**  
Uma `SELECT` declaração geral:  

```
SELECT expression [, ...]
  [ FROM table_name AS alias [, ...] ]
  [ WHERE condition ]
  [ GROUP BY expression [, ...] ]
  [ HAVING condition ]
  [ ORDER BY expression [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ] [, ...] ]
  [ LIMIT expression ]
```

**Example**  
Uma declaração SELECT com as diferentes cláusulas:  

```
SELECT
  a.asset_name,
  a.asset_id,
  p.property_type,
  p.property_data_type,
  p.string_attribute_value,
  p.property_name
FROM asset a, asset_property p
WHERE a.asset_description LIKE '%description%'
AND p.property_type IN ('attribute', 'metric')
OR p.property_id IN (
  SELECT property_id
  FROM raw_time_series
  WHERE event_timestamp BETWEEN TIMESTAMP '2025-01-01 00:00:00' AND TIMESTAMP '2025-01-02 00:00:00'
  GROUP BY asset_id, property_id
  HAVING COUNT(*) > 100
 )
GROUP BY p.property_type
HAVING COUNT(*) > 5
ORDER BY a.asset_name ASC
LIMIT 20;
```

**nota**  
 Um implícito `JOIN` combina duas ou mais tabelas diferentes sem usar a `JOIN` palavra-chave com base no esquema interno AWS IoT SiteWise do. Isso é o equivalente a executar um `JOIN` nos `property_id` campos `asset_id` e entre metadados e tabelas de dados brutos. Esse padrão SiteWise permite aproveitar qualquer filtro de metadados na consulta, ao buscar tabelas de dados brutos de uma forma que resulta em menos dados gerais escaneados.   

**Example de uma consulta:**  

```
SELECT a.asset_name, p.property_name, r.event_timestamp
FROM asset a, asset_property p, raw_time_series r
WHERE a.asset_name='my_asset' AND p.property_name='my_property'
```
O exemplo acima verifica apenas os dados da propriedade do ativo pertencente aos nomes de metadados especificados.  

**Example de um equivalente menos otimizado da consulta acima:**  

```
SELECT a.asset_name, p.property_name, r.event_timestamp
FROM asset a
JOIN asset_property p ON a.asset_id=p.asset_id
JOIN raw_time_series r ON p.asset_id=r.asset_id AND p.property_id=r.property_id
WHERE a.asset_name='my_asset' AND p.property_name='my_property'
```

Uma explicação de cada cláusula e sua descrição estão listadas abaixo:


|  **Cláusula**  |  **Assinatura**  |  **Descrição**  | 
| --- | --- | --- | 
|  `LIMIT`  |  <pre>LIMIT { count }</pre>  |  Essa cláusula limita o conjunto de resultados ao número especificado de linhas. Você pode usar `LIMIT` com ou sem `OFFSET` cláusulas `ORDER BY` e. `LIMIT`só funciona com números inteiros não negativos de [0,2147483647].  | 
|  `ORDER BY`  |  <pre>ORDER BY expression<br />[ ASC | DESC ]<br />[ NULLS FIRST | NULLS LAST ] <br /></pre>  |  A `ORDER BY` cláusula classifica o conjunto de resultados de uma consulta.   Ao se referir às colunas selecionadas em uma agregação na `ORDER BY` cláusula, use o índice ordinal da coluna em vez do nome ou alias.  <pre>SELECT AVG(t.double_value)<br />FROM latest_value_time_series t<br />GROUP BY t.asset_id<br />ORDER BY 1</pre>   | 
|  `GROUP BY`  |  <pre>GROUP BY expression [, ...]</pre>  |  A `GROUP BY` cláusula identifica as colunas de agrupamento para a consulta. É usado em conjunto com uma expressão agregada.  | 
|  `HAVING`  |  <pre>HAVING boolean-expression</pre>  |  A `HAVING` cláusula filtra as linhas do grupo criadas pela cláusula GROUP BY.  | 
|  `SUB SELECT`  |  <pre>SELECT column1, column2<br />FROM table1<br />WHERE column3 IN (SELECT column4 FROM table2);<br /></pre>  |  Uma `SELECT` declaração incorporada em outra `SELECT` declaração.  | 
|  `JOIN`  |  <pre>SELECT column1, column2<br />FROM table1 JOIN table2<br />ON table1.column1 = table2.column1;<br /></pre>  | 
|  `INNER JOIN`  |  <pre>SELECT columns<br />FROM table1<br />INNER JOIN table2 ON table1.column = table2.column;<br /></pre>  |  An `INNER JOIN` retorna todas as linhas de ambas as tabelas que correspondem à condição de junção.  | 
|  `UNION`  |  <pre>query<br />   { UNION [ ALL ] }<br />another_query<br /></pre>  |  O `UNION` operador calcula a união do conjunto de seus dois argumentos, removendo automaticamente registros duplicados do conjunto de resultados.  | 

# Operadores lógicos
<a name="sql-supported-logical"></a>

AWS IoT SiteWise suporta os seguintes operadores lógicos.


|  **Operador**  |  **Assinatura**  |  **Descrição**  | 
| --- | --- | --- | 
|  `AND`  |  a `AND` b  |  `TRUE` se ambos os valores forem verdadeiros  | 
|  `OR`  |  a `OR` b  |  `TRUE`se um valor for verdadeiro  | 
|  `NOT`  |  expressão `NOT`  |  `TRUE`se uma expressão for falsa e `FALSE` se uma expressão for verdadeira  | 
|  `IN`  |  `IN`expressão x  |  `TRUE`se o valor estiver na expressão  | 
|  `BETWEEN`  |  `BETWEEN`a `AND` b  |  `TRUE`se o valor estiver entre o limite superior e inferior, e inclui ambos os limites  | 
|  `LIKE`  |  Padrão `LIKE`  |  `TRUE`se o valor estiver no padrão `LIKE`suporta curingas. Veja abaixo os exemplos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/sql-supported-logical.html)  | 

Exemplos de todos os operadores lógicos:


|  **Função**  |  **Exemplo**  | 
| --- | --- | 
|  E  |  <pre>SELECT a.asset_name <br />   FROM asset AS a, latest_value_time_series AS t <br />   WHERE t.int_value > 30 AND t.event_timestamp > TIMESTAMP '2025-05-15 00:00:01'<br /></pre>  | 
|  OU  |  <pre>SELECT a.asset_name <br />   FROM asset AS a<br />   WHERE a.asset_name like 'abc' OR a.asset_name like 'pqr'<br /></pre>  | 
|  NOT  |  <pre>SELECT ma.asset_id AS a_id<br />   FROM asset AS ma<br />   WHERE (ma.asset_id NOT LIKE 'some%patterna%' escape 'a') AND ma.asset_id='abc'<br /></pre>  | 
|  IN  |  <pre>SELECT a.asset_name <br />   FROM asset AS a<br />   WHERE a.asset_name IN ('abc', 'pqr')<br /></pre>  | 
|  BETWEEN  |  <pre>SELECT asset_id, int_value, event_timestamp AS i_v <br />   FROM raw_time_series<br />   WHERE event_timestamp BETWEEN TIMESTAMP '2025-04-15 00:00:01' and TIMESTAMP '2025-05-15 00:00:01'  <br /></pre>  | 
|  LIKE  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/sql-supported-logical.html)  | 

# Operadores de comparação
<a name="sql-supported-comparision"></a>

AWS IoT SiteWise suporta os seguintes operadores de comparação. Todas as operações de comparação estão disponíveis para tipos de dados incorporados e são avaliadas como um booleano.


**Operadores lógicos**  

|  **Operador**  |  **Descrição**  | 
| --- | --- | 
|  `<`  |  Menor que  | 
|  `>`  |  Maior que  | 
|  `<=`  |  Menor ou igual a  | 
|  `>=`  |  Maior ou igual a  | 
|  `=`  |  Igual  | 
|  `!=`  |  Not equal  | 


**Tabela verdadeira da operação de comparação para valores não numéricos**  

|  **Tipo**  |  **Digite >= x**  |  **Tipo <= x**  |  **Tipo > x**  |  **Tipo < x**  |  **Tipo = x**  |  **Digite\$1 = x**  | 
| --- | --- | --- | --- | --- | --- | --- | 
|  `NULL`  |  `FALSE`  |  `FALSE`  |  `FALSE`  |  `FALSE`  |  `FALSE`  |  `TRUE`  | 

Alguns predicados se comportam como operadores, mas têm uma sintaxe especial. Consulte abaixo:


**Predicados de comparação**  

|  **Operador**  |  **Descrição**  | 
| --- | --- | 
|  `IS NULL`  |  Testa se um valor é`NULL`.  | 
|  `IS NOT NULL`  |  Testa se um valor não é`NULL`.  | 

## operadores NaN
<a name="sql-supported-comparision-nan"></a>

 `NaN`, ou “Não é um número”, é um valor especial na aritmética de ponto flutuante. Aqui está uma lista de `NaN` comparações e como elas funcionam. 
+ `NaN`os valores devem ser colocados entre aspas simples. Por exemplo, '`NaN`'.
+ `NaN`os valores são considerados iguais entre si.
+ `NaN`é maior do que outros valores numéricos.
+ Em funções agregadas como`AVG()`,`STDDEV()`, e`SUM()`, se houver algum valor`NaN`, o resultado é`NaN`. 
+ Em funções agregadas como `MAX()` e`MIN()`, `NaN` os valores são incluídos nos cálculos.


**Comparações de valores de NaN**  

|  **Comparação**  |  **Resultado**  | 
| --- | --- | 
|  `'NaN' ≥ x`  |  Verdadeiro  | 
|  `'NaN' ≤ x`  |  Verdadeiro se x for igual a NaN, Falso caso contrário  | 
|  `'NaN' > x`  |  Falso se x for igual a NaN, caso contrário, verdadeiro  | 
|  `'NaN' < x`  |  Falso  | 
|  `'NaN' = x`  |  Verdadeiro se x for igual a NaN, Falso caso contrário  | 
|  `'NaN' != x`  |  Falso se x for igual a NaN, caso contrário, verdadeiro  | 

# Funções SQL
<a name="sql-functions"></a>

 Os grupos de funções suportados são: 

**Topics**
+ [Funções escalares](sql-functions-scalar.md)
+ [Funções agregadas](sql-functions-aggregated.md)

# Funções escalares
<a name="sql-functions-scalar"></a>

 As funções escalares usam um ou mais valores de entrada e retornam um único valor de saída. Eles são amplamente usados em SQL (Structured Query Language) para manipulação e recuperação de dados, melhorando a eficiência das tarefas de processamento de dados. 

**Topics**
+ [Funções de dados nulos](sql-functions-null.md)
+ [Funções de string](sql-functions-string.md)
+ [Funções matemáticas](sql-functions-math.md)
+ [Funções de data e hora](sql-functions-date.md)
+ [Funções de conversão de tipos](sql-functions-type-conv.md)

# Funções de dados nulos
<a name="sql-functions-null"></a>

 As funções de dados nulos manipulam ou manipulam valores NULL, que representam a ausência de um valor. As funções permitem que você NULLs substitua por outros valores, verifique se um valor é NULL ou execute operações que manipulam de uma NULLs maneira específica. 


|  **Função**  |  **Assinatura**  |  **Descrição**  | 
| --- | --- | --- | 
|  `COALESCE`  |   COALESCE (expressão 1, expressão 2,..., expressão N)   |  Se todas as expressões forem avaliadas como nulas, COALESCE retornará null. As expressões devem ser do mesmo tipo.  | 

**Example de uma função COALESCE**  

```
SELECT COALESCE (l.double_value, 100) AS non_double_value FROM latest_value_time_series AS l LIMIT 1
```

# Funções de string
<a name="sql-functions-string"></a>

 As funções de string são ferramentas integradas usadas para manipular e processar dados de texto. Eles permitem tarefas como concatenação, extração, formatação e pesquisa em cadeias de caracteres. Essas funções são essenciais para limpar, transformar e analisar dados baseados em texto em um banco de dados. 


**Funções de string**  

|  **Função**  |  **Assinatura**  |  **Descrição**  | 
| --- | --- | --- | 
|  `LENGTH`  |   COMPRIMENTO (string)   |  Retorna o comprimento da string.  | 
|  `CONCAT`  |   CONCAT (string, string)   |  Concatena argumentos em uma string.  | 
|  `SUBSTR`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/sql-functions-string.html)  |  Retorna uma das seguintes opções: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/sql-functions-string.html) Usa indexação baseada em 1 para o parâmetro inicial.  | 
|  `UPPER`  |   UPPER (sequência de caracteres)   |  Converte os caracteres na string de entrada em maiúsculas.  | 
|  `LOWER`  |   LOWER (sequência de caracteres)   |  Converte os caracteres na string de entrada em minúsculas.  | 
|  `TRIM`  |   TRIM (sequência de caracteres)   |  Remove qualquer caractere de espaço do início, do fim ou dos dois lados da string.  | 
|  `LTRIM`  |   LTRIM (sequência de caracteres)   |  Remove qualquer caractere de espaço do início da string.  | 
|  `RTRIM`  |   RTRIM (sequência de caracteres)   |  Remove qualquer caractere de espaço do final da string.  | 
|  `STR_REPLACE`  |   STR\$1REPLACE (string, de, para)   |  Substitui todas as ocorrências da substring especificada por outra substring especificada.  | 

Exemplos de todas as funções:


|  **Função**  |  **Exemplo**  | 
| --- | --- | 
|  LENGTH  |  `SELECT LENGTH(a.asset_id) AS asset_id_length FROM asset AS a`  | 
|  CONCAT  |   `SELECT CONCAT(p.property_id, p.property_name) FROM asset_property AS p`   | 
|  SUBSTR  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/sql-functions-string.html)  | 
|  UPPER  |   `SELECT UPPER(d.string_value) AS up_string FROM raw_time_series AS d`   | 
|  LOWER  |   `SELECT LOWER(d.string_value) AS low_string FROM raw_time_series AS d`   | 
|  TRIM  |   `SELECT TRIM(d.string_value) AS tm_string FROM raw_time_series AS d`   | 
|  LTRIM  |   `SELECT LTRIM(d.string_value) AS ltrim_string FROM raw_time_series AS d`   | 
|  RTRIM  |   `SELECT RTRIM(d.string_value) AS rtrim_string FROM raw_time_series AS d`   | 
|  STR\$1REPLACE  |   `SELECT STR_REPLACE(d.string_value, 'abc', 'def') AS replaced_string FROM raw_time_series AS d`   | 

## Operador de concatenação
<a name="sql-operators-concatenation"></a>

 O operador de concatenação`||`, ou operador de tubulação, une duas cadeias de caracteres. Ele fornece uma alternativa à `CONCAT` função e é mais legível ao combinar várias cadeias de caracteres.

**Example do operador de concatenação**  

```
SELECT a.asset_name || ' - ' || p.property_name 
  AS full_name
  FROM asset a, asset_property p
```

# Funções matemáticas
<a name="sql-functions-math"></a>

 As funções matemáticas são operações matemáticas predefinidas usadas em consultas SQL para realizar cálculos em dados numéricos. Eles fornecem maneiras de manipular e transformar dados sem precisar extraí-los do banco de dados e processá-los separadamente. 


**Funções matemáticas**  

|  **Função**  |  **Assinatura**  |  **Descrição**  | 
| --- | --- | --- | 
|  `POWER`  |  POTÊNCIA (int\$1double, int\$1double)  |  Retorna o valor do primeiro argumento elevado à potência do segundo argumento.  | 
|  `ROUND`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/sql-functions-math.html)  |  Arredonda para o número inteiro mais próximo.  | 
|  `FLOOR`  |   PISO (int\$1double)   |  Retorna o maior número inteiro não maior que o valor fornecido.  | 

Exemplos de todas as funções:


|  **Função**  |  **Exemplo**  | 
| --- | --- | 
|  POWER  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/sql-functions-math.html)  | 
|  ROUND  |   `ROUND (32.12435, 3)`   | 
|  FLOOR  |   `FLOOR (21.2)`   | 

# Funções de data e hora
<a name="sql-functions-date"></a>

 As funções de data e hora funcionam com datas e horas. Essas funções permitem a extração de componentes específicos de uma data, realizar cálculos e manipular valores de data.

Os identificadores permitidos nessas funções são:
+ YEAR
+ MONTH
+ DAY
+ HOUR
+ MINUTE
+ SECOND


|  **Função**  |  **Assinatura**  |  **Descrição**  | 
| --- | --- | --- | 
|  `NOW`  |   AGORA ()   |  Retorna o timestamp atual com precisão de milissegundos. Ele fornece a hora exata no momento em que é executado em uma consulta.  | 
|  `DATE_ADD`  |  DATE\$1ADD (identificador, intervalo\$1duração, coluna)  |  Retorna a soma de a date/time e um número de days/hours, or of a date/time and date/time intervalos.  | 
|  `DATE_SUB`  |  DATE\$1SUB (identificador, intervalo\$1duração, coluna)  |  Retorna a diferença entre um date/time e um número de days/hours, or between a date/time and date/time intervalos.  | 
|  `TIMESTAMP_ADD`  |  TIMESTAMP\$1ADD (identificador, intervalo\$1duração, coluna)  |  Adiciona um intervalo de tempo, nas unidades de tempo fornecidas, a uma expressão de data e hora.  | 
|  `TIMESTAMP_SUB`  |  TIMESTAMP\$1SUB (identificador, intervalo\$1duração, coluna)  |  Subtrai um intervalo de tempo, nas unidades de tempo fornecidas, de uma expressão de data e hora.  | 
|  `CAST`  |  CAST (expressão AS, padrão TIMESTAMP FORMAT)  |  Converte uma expressão de string em um timestamp usando o padrão de formato especificado. Os padrões comuns incluem `'yyyy-MM-dd HH:mm:ss'` o formato padrão de data e hora. Por exemplo, `SELECT CAST('2023-12-25 14:30:00' AS TIMESTAMP) AS converted_timestamp`.  | 

**Example de uma consulta SQL usando as funções listadas:**  

```
SELECT r.asset_id, r.int_value,
  date_add(DAY, 7, r.event_timestamp) AS date_in_future,
  date_sub(YEAR, 2, r.event_timestamp) AS date_in_past,
  timestamp_add(DAY, 2, r.event_timestamp) AS timestamp_in_future,
  timestamp_sub(DAY, 2, r.event_timestamp) AS timestamp_in_past,
  now() AS time_now
FROM raw_time_series AS r
```

# Funções de conversão de tipos
<a name="sql-functions-type-conv"></a>

 As funções de conversão de tipo são usadas para alterar o tipo de dados de um valor de um para outro. Eles são essenciais para garantir a compatibilidade dos dados e realizar operações que exigem dados em um formato específico. 


|  **Função**  |  **Assinatura**  |  **Descrição**  | 
| --- | --- | --- | 
|  `TO_DATE`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 
|  `TO_TIMESTAMP`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 
|  `TO_TIME`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 
|  `CAST`  |  ELENCO (<expression>AS<data type>)  |  Converte uma entidade ou expressão que é avaliada como um único valor, de um tipo para outro. Os tipos de dados compatíveis são: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 

**Example de uma consulta SQL usando as funções listadas:**  

```
SELECT TO_TIMESTAMP (100) AS timestamp_value,
  TO_DATE(r.event_timestamp) AS date_value,
  TO_TIME(r.event_timestamp) AS time_value
FROM raw_time_series AS r
```

# Funções agregadas
<a name="sql-functions-aggregated"></a>

 As funções agregadas são operações de banco de dados que realizam cálculos em várias linhas de dados para produzir um único resultado resumido. Essas funções analisam conjuntos de dados para retornar valores computados como somas, médias, contagens ou outras medidas estatísticas. 


|  **Função**  |  **Assinatura**  |  **Descrição**  | 
| --- | --- | --- | 
|  `AVG`  |  AVG (expressão)  |  Retorna a média de uma expressão numérica.  | 
|  `COUNT`  |  COUNT (expressão)  |  Retorna o número de linhas que correspondem aos critérios fornecidos.  | 
|  `MAX`  |  MAX (expressão)  |  Retorna o maior valor das expressões selecionadas.  | 
|  `MIN`  |  MIN (expressão)  |  Retorna o menor valor das expressões selecionadas.  | 
|  `SUM`  |  SUM (expressão)  |  Retorna a soma de uma expressão numérica.  | 
|  `STDDEV`  |  STDDEV (expressão)  |  Retorna o desvio padrão da amostra.  | 
|  `GROUP BY`  |  GROUP BY expressão  |  Retorna uma linha criada pelas colunas de agrupamento.  | 
|  `HAVING`  |  TENDO uma expressão booleana  |  Retorna as linhas do grupo filtradas por `GROUP BY` cláusula.  | 

Exemplos de todas as funções:


|  **Função**  |  **Exemplo**  | 
| --- | --- | 
|  AVG  |  <pre>SELECT d.asset_id, d.property_id, AVG(d.int_value) FROM raw_time_series AS d</pre>  | 
|  CONTAGEM  |  <pre>SELECT COUNT(d.int_value) FROM raw_time_series AS d</pre>  | 
|  MAX  |  <pre>SELECT MAX(d.int_value) FROM raw_time_series AS d</pre>  | 
|  MIN  |  <pre>SELECT MIN(d.int_value) FROM raw_time_series AS d</pre>  | 
|  SUM  |  <pre>SELECT SUM(d.int_value) FROM raw_time_series AS d</pre>  | 
|  STDDEV  |  <pre>SELECT STDDEV(d.int_value) FROM raw_time_series AS d</pre>  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-sitewise/latest/userguide/sql-functions-aggregated.html)  |  <pre>SELECT MAX(d.int_value) AS max_int_value, d.asset_id <br />FROM raw_time_series AS d <br />GROUP BY d.asset_id <br />HAVING MAX(d.int_value) > 5                      <br /></pre>  | 

# Consultas de exemplo
<a name="sql-examples"></a>

## Filtragem de metadados
<a name="sql-examples-meta-filter"></a>

O exemplo a seguir é para filtragem de metadados com uma `SELECT` instrução com a linguagem de AWS IoT SiteWise consulta:

```
SELECT a.asset_name, p.property_name
FROM asset a, asset_property p
WHERE a.asset_name LIKE 'Windmill%'
```

## Filtragem de valor
<a name="sql-examples-value-filter"></a>

Veja a seguir um exemplo de filtragem de valores usando uma `SELECT` instrução com a linguagem de AWS IoT SiteWise consulta:

```
SELECT a.asset_name, r.int_value
FROM asset a, raw_time_series r
WHERE r.int_value > 30
AND r.event_timestamp > TIMESTAMP '2022-01-05 12:15:00'
AND r.event_timestamp < TIMESTAMP '2022-01-05 12:20:00'
```