

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# AWS IoT SiteWise langage de requête
<a name="sql"></a>

Grâce à l'opération d'[ExecuteQuery](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ExecuteQuery.html)API de récupération de AWS IoT SiteWise données, vous pouvez récupérer des informations sur les définitions structurelles déclaratives et les données de séries chronologiques qui leur sont associées, à partir des informations suivantes :
+ modèles
+ actifs
+ mesures
+ métriques
+ transformations
+ agrégats

Cela peut être fait avec des instructions de requête de type SQL, dans une seule requête d'API.

**Note**  
Cette fonctionnalité est disponible dans toutes les régions où AWS IoT SiteWise elle est disponible, sauf AWS GovCloud (USA Ouest), Canada (Centre), Chine (Pékin) et USA Est (Ohio). 

**Topics**
+ [Référence du langage de requête pour AWS IoT SiteWise](query-reference.md)

# Référence du langage de requête pour AWS IoT SiteWise
<a name="query-reference"></a>

 AWS IoT SiteWise prend en charge un langage de requête riche pour travailler avec vos données. Les types de données, les opérateurs, les fonctions et les constructions disponibles sont décrits dans les rubriques suivantes.

Voir [Exemples de requêtes](sql-examples.md) pour écrire des requêtes avec le langage de AWS IoT SiteWise requête.

**Topics**
+ [Vues de référence des requêtes](query-reference-views.md)
+ [Types de données pris en charge](supported-data-types.md)
+ [Clauses prises en charge](supported-clauses.md)
+ [Opérateurs logiques](sql-supported-logical.md)
+ [Opérateurs de comparaison](sql-supported-comparision.md)
+ [Fonctions SQL](sql-functions.md)
+ [Exemples de requêtes](sql-examples.md)

# Vues de référence des requêtes
<a name="query-reference-views"></a>

Cette section fournit des informations pour vous aider à comprendre les vues AWS IoT SiteWise, telles que les métadonnées de processus et les données de télémétrie.

Les tableaux suivants fournissent les noms et les descriptions des vues :


**Modèle de données**  

|  **Nom de la vue**  |  **Description de la vue**  | 
| --- | --- | 
|  asset  |  Contient des informations sur l'actif et la dérivation du modèle.  | 
|  propriété\$1actif  |  Contient des informations sur la structure de la propriété de l'actif.  | 
|  Série Raw\$1Time  |  Contient les données historiques de la série chronologique.  | 
|  dernière\$1value\$1time\$1series  |  Contient la dernière valeur de la série chronologique.  | 
|  agrégats\$1précalculés  |  Contient les valeurs agrégées des propriétés des actifs calculées automatiquement. Il s'agit d'un ensemble de mesures de base calculées sur plusieurs intervalles de temps.  | 

Les vues suivantes répertorient les noms de colonnes et les types de données de chaque vue.


**Voir : actif**  

|  **nom de colonne**  |  **datatype**  | 
| --- | --- | 
|  identifiant\$1actif  |  chaîne  | 
|  nom\$1actif  |  chaîne  | 
|  description\$1de l'actif  |  chaîne  | 
|  identifiant\$1modèle d'actif  |  chaîne  | 
|  identifiant\$1actif\$1parent  |  chaîne  | 
| identifiant\$1externe de l'actif | chaîne | 
| asset\$1model\$1external\$1id | chaîne | 
| id\$1hiérarchie | chaîne | 


**Voir : asset\$1property**  

|  **nom de colonne**  |  **datatype**  | 
| --- | --- | 
|  identifiant\$1actif  |  chaîne  | 
|  identifiant\$1propriété  |  chaîne  | 
|  nom\$1propriété  |  chaîne  | 
|  alias de propriété  |  chaîne  | 
|  identifiant\$1externe de la propriété  |  chaîne  | 
|  asset\$1composite\$1model\$1id  |  chaîne  | 
|  type\$1propriété  |  chaîne  | 
|  type\$1données\$1propriété  |  chaîne  | 
|  int\$1attribute\$1value  |  entier  | 
|  valeur\$1attribut double  |  double  | 
|  valeur\$1attribute\$1booléenne  |  boolean  | 
|  valeur\$1attribut\$1chaîne  |  chaîne  | 


**Voir : RAW\$1TIME\$1SERIES**  

|  **nom de colonne**  |  **datatype**  | 
| --- | --- | 
|  identifiant\$1actif  |  chaîne  | 
|  identifiant\$1propriété  |  chaîne  | 
|  alias de propriété  |  chaîne  | 
|  event\$1timestamp  |  timestamp  | 
|  quality  |  chaîne  | 
|  valeur\$1booléenne  |  boolean  | 
|  int\$1value  |  entier  | 
|  valeur\$1double  |  double  | 
|  valeur\$1chaîne  |  chaîne  | 


**Voir : LATEST\$1VALUE\$1TIME\$1SERIES**  

|  **nom de colonne**  |  **datatype**  | 
| --- | --- | 
|  identifiant\$1actif  |  chaîne  | 
|  identifiant\$1propriété  |  chaîne  | 
|  alias de propriété  |  chaîne  | 
|  event\$1timestamp  |  timestamp  | 
|  quality  |  chaîne  | 
|  valeur\$1booléenne  |  boolean  | 
|  int\$1value  |  entier  | 
|  valeur\$1double  |  double  | 
|  valeur\$1chaîne  |  chaîne  | 


**Voir : precomputed\$1aggregates**  

|  **nom de colonne**  |  **datatype**  | 
| --- | --- | 
|  identifiant\$1actif  |  chaîne  | 
|  identifiant\$1propriété  |  chaîne  | 
|  alias de propriété  |  chaîne  | 
|  event\$1timestamp  |  timestamp  | 
|  quality  |  chaîne  | 
|  resolution  |  chaîne  | 
|  valeur\$1somme  |  double  | 
|  valeur\$1comptage  |  entier  | 
|  valeur\$1moyenne  |  double  | 
|  valeur\$1maximale  |  double  | 
|  valeur\$1minimale  |  double  | 
|  stdev\$1value  |  double  | 

# Types de données pris en charge
<a name="supported-data-types"></a>

AWS IoT SiteWise le langage de requête prend en charge les types de données suivants.


**Valeur scalaire**  

|  **Type de données**  |  **Description**  | 
| --- | --- | 
|  `STRING`  |  Chaîne d'une longueur maximale de 1024 octets.  | 
|  `INTEGER`  |  Un entier signé de 32 bits dont la plage est comprise `-2,147,483,648 to 2,147,483,647` entre.  | 
|  `DOUBLE`  |  Nombre à virgule flottante dont la plage `–10^100 to 10^100` est comprise entre ou `Nan` avec une `IEEE 754` double précision.  | 
|  `BOOLEAN`  |  `true` ou `false`.  | 
|  `TIMESTAMP`  |  Horodatages conformes à la norme ISO-8601 : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/supported-data-types.html)  | 

**Note**  
`Null`: booléen `true` indiquant l'absence de données définies.

**Example**  
`TIMESTAMP`exemples de valeur :  

```
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'
```

**Note**  
 Les données de double précision ne sont pas exactes. Certaines valeurs ne sont pas converties exactement et ne représenteront pas tous les nombres réels en raison d'une précision limitée. Les données à virgule flottante de la requête peuvent ne pas avoir la même valeur que celle représentée en interne. La valeur est arrondie si la précision d'un nombre saisi est trop élevée. 

# Clauses prises en charge
<a name="supported-clauses"></a>

L'`SELECT`instruction est utilisée pour récupérer des données à partir d'une ou de plusieurs vues. AWS IoT SiteWise soutient les `INNER JOIN` opérations `JOIN` et.

Les vues sont jointes à l'aide d'une `JOIN` syntaxe explicite ou de notations séparées par des virgules dans la clause. `FROM`

**Example**  
Une `SELECT` déclaration générale :  

```
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**  
Une instruction SELECT avec les différentes clauses :  

```
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;
```

**Note**  
 Un implicite `JOIN` combine deux ou plusieurs tables différentes sans utiliser le `JOIN` mot clé basé sur AWS IoT SiteWise le schéma interne. Cela revient à exécuter un champ `JOIN` sur les `property_id` champs `asset_id` et entre les métadonnées et les tables de données brutes. Ce modèle permet de SiteWise tirer parti de n'importe quel filtre de métadonnées dans la requête, lors de l'extraction à partir de tables de données brutes, de manière à réduire le volume global des données numérisées.   

**Example d'une requête :**  

```
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'
```
L'exemple ci-dessus analyse uniquement les données de la propriété de l'actif appartenant aux noms de métadonnées spécifiés.  

**Example d'un équivalent moins optimisé de la requête ci-dessus :**  

```
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'
```

Vous trouverez ci-dessous une explication de chaque clause et sa description :


|  **Clause**  |  **Signature**  |  **Description**  | 
| --- | --- | --- | 
|  `LIMIT`  |  <pre>LIMIT { count }</pre>  |  Cette clause limite le jeu de résultats au nombre de lignes spécifié. Vous pouvez utiliser `LIMIT` avec ou sans `OFFSET` clauses `ORDER BY` et. `LIMIT`ne fonctionne qu'avec des entiers non négatifs de [0,2147483647].  | 
|  `ORDER BY`  |  <pre>ORDER BY expression<br />[ ASC | DESC ]<br />[ NULLS FIRST | NULLS LAST ] <br /></pre>  |  La `ORDER BY` clause trie le jeu de résultats d'une requête.   Lorsque vous faites référence à des colonnes sélectionnées dans une agrégation dans la `ORDER BY` clause, utilisez l'index ordinal de la colonne plutôt que le nom ou l'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>  |  La `GROUP BY` clause identifie les colonnes de regroupement pour la requête. Il est utilisé conjointement avec une expression agrégée.  | 
|  `HAVING`  |  <pre>HAVING boolean-expression</pre>  |  La `HAVING` clause filtre les lignes de groupe créées par la clause GROUP BY.  | 
|  `SUB SELECT`  |  <pre>SELECT column1, column2<br />FROM table1<br />WHERE column3 IN (SELECT column4 FROM table2);<br /></pre>  |  Une `SELECT` déclaration intégrée dans une autre `SELECT` déclaration.  | 
|  `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` renvoie toutes les lignes des deux tables qui correspondent à la condition de jointure.  | 
|  `UNION`  |  <pre>query<br />   { UNION [ ALL ] }<br />another_query<br /></pre>  |  L'`UNION`opérateur calcule l'union de ses deux arguments, en supprimant automatiquement les doublons du jeu de résultats.  | 

# Opérateurs logiques
<a name="sql-supported-logical"></a>

AWS IoT SiteWise prend en charge les opérateurs logiques suivants.


|  **Opérateur**  |  **Signature**  |  **Description**  | 
| --- | --- | --- | 
|  `AND`  |  un `AND` b  |  `TRUE`si les deux valeurs sont vraies  | 
|  `OR`  |  un `OR` b  |  `TRUE`si une valeur est vraie  | 
|  `NOT`  |  `NOT`expression  |  `TRUE`si une expression est fausse et `FALSE` si une expression est vraie  | 
|  `IN`  |  `IN`expression x  |  `TRUE`si la valeur est dans l'expression  | 
|  `BETWEEN`  |  `BETWEEN`un `AND` b  |  `TRUE`si la valeur est comprise entre les limites supérieure et inférieure, et inclut les deux limites  | 
|  `LIKE`  |  `LIKE`motif  |  `TRUE`si la valeur est dans le modèle `LIKE`prend en charge les caractères génériques. Voir les exemples ci-dessous : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/sql-supported-logical.html)  | 

Exemples de tous les opérateurs logiques :


|  **Fonction**  |  **Exemple**  | 
| --- | --- | 
|  AND  |  <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/fr_fr/iot-sitewise/latest/userguide/sql-supported-logical.html)  | 

# Opérateurs de comparaison
<a name="sql-supported-comparision"></a>

AWS IoT SiteWise prend en charge les opérateurs de comparaison suivants. Toutes les opérations de comparaison sont disponibles pour les types de données intégrés et sont évaluées selon un booléen.


**Opérateurs logiques**  

|  **Opérateur**  |  **Description**  | 
| --- | --- | 
|  `<`  |  Inférieur à  | 
|  `>`  |  Supérieur à  | 
|  `<=`  |  Inférieur ou égal à  | 
|  `>=`  |  Supérieur ou égal à  | 
|  `=`  |  Égal à  | 
|  `!=`  |  Non égal à  | 


**Table de vérité des opérations de comparaison pour les valeurs non numériques**  

|  **Type**  |  **Tapez >= x**  |  **Type <= x**  |  **Tapez > x**  |  **Type < x**  |  **Type = x**  |  **Tapez \$1 = x**  | 
| --- | --- | --- | --- | --- | --- | --- | 
|  `NULL`  |  `FALSE`  |  `FALSE`  |  `FALSE`  |  `FALSE`  |  `FALSE`  |  `TRUE`  | 

Certains prédicats se comportent comme des opérateurs mais ont une syntaxe spéciale. Voir ci-dessous :


**Prédicats de comparaison**  

|  **Opérateur**  |  **Description**  | 
| --- | --- | 
|  `IS NULL`  |  Teste si une valeur est`NULL`.  | 
|  `IS NOT NULL`  |  Teste si une valeur ne l'est pas`NULL`.  | 

## Opérateurs NaN
<a name="sql-supported-comparision-nan"></a>

 `NaN`, ou « Pas un nombre », est une valeur spéciale en arithmétique à virgule flottante. Voici une liste de `NaN` comparaisons et leur fonctionnement. 
+ `NaN`les valeurs doivent être placées entre guillemets simples. Par exemple, « `NaN` ».
+ `NaN`les valeurs sont considérées comme égales les unes aux autres.
+ `NaN`est supérieur aux autres valeurs numériques.
+ Dans les fonctions d'agrégation telles que `AVG()` `STDDEV()``SUM()`, et, si des valeurs le sont`NaN`, le résultat est`NaN`. 
+ Dans les fonctions d'agrégation telles que `MAX()` et`MIN()`, les `NaN` valeurs sont incluses dans les calculs.


**Comparaisons de valeurs NaN**  

|  **Comparison (Comparaison)**  |  **Result**  | 
| --- | --- | 
|  `'NaN' ≥ x`  |  True  | 
|  `'NaN' ≤ x`  |  Vrai si x est égal à NaN, False sinon  | 
|  `'NaN' > x`  |  Faux si x est égal à NaN, True dans le cas contraire  | 
|  `'NaN' < x`  |  False  | 
|  `'NaN' = x`  |  Vrai si x est égal à NaN, False sinon  | 
|  `'NaN' != x`  |  Faux si x est égal à NaN, True dans le cas contraire  | 

# Fonctions SQL
<a name="sql-functions"></a>

 Les groupes de fonctions pris en charge sont les suivants : 

**Topics**
+ [Fonctions scalaires](sql-functions-scalar.md)
+ [Fonctions d’agrégation](sql-functions-aggregated.md)

# Fonctions scalaires
<a name="sql-functions-scalar"></a>

 Les fonctions scalaires prennent une ou plusieurs valeurs d'entrée et renvoient une seule valeur de sortie. Ils sont largement utilisés dans le langage SQL (Structured Query Language) pour la manipulation et la récupération de données, améliorant ainsi l'efficacité des tâches de traitement des données. 

**Topics**
+ [Fonctions de données nulles](sql-functions-null.md)
+ [Fonctions de chaîne](sql-functions-string.md)
+ [Fonctions mathématiques](sql-functions-math.md)
+ [Fonctions de date et d'heure](sql-functions-date.md)
+ [Fonctions de conversion de type](sql-functions-type-conv.md)

# Fonctions de données nulles
<a name="sql-functions-null"></a>

 Les fonctions de données nulles gèrent ou manipulent les valeurs NULL, qui représentent l'absence de valeur. Les fonctions vous permettent de les NULLs remplacer par d'autres valeurs, de vérifier si une valeur est NULL ou d'effectuer des opérations qui sont NULLs gérées d'une manière spécifique. 


|  **Fonction**  |  **Signature**  |  **Description**  | 
| --- | --- | --- | 
|  `COALESCE`  |   COALESCE (expression1, expression2,..., expressionN)   |  Si toutes les expressions sont nulles, COALESCE renvoie la valeur null. Les expressions doivent être du même type.  | 

**Example d'une fonction COALESCE**  

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

# Fonctions de chaîne
<a name="sql-functions-string"></a>

 Les fonctions de chaîne sont des outils intégrés utilisés pour manipuler et traiter des données de texte. Ils permettent des tâches telles que la concaténation, l'extraction, le formatage et la recherche dans des chaînes. Ces fonctions sont essentielles pour nettoyer, transformer et analyser les données textuelles d'une base de données. 


**Fonctions de chaîne**  

|  **Fonction**  |  **Signature**  |  **Description**  | 
| --- | --- | --- | 
|  `LENGTH`  |   LONGUEUR (chaîne)   |  Renvoie la longueur de la chaîne.  | 
|  `CONCAT`  |   CONCAT (chaîne, chaîne)   |  Concatène les arguments dans une chaîne.  | 
|  `SUBSTR`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/sql-functions-string.html)  |  Renvoie l'une des valeurs suivantes : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/sql-functions-string.html) Utilise une indexation basée sur 1 pour le paramètre de départ.  | 
|  `UPPER`  |   UPPER (chaîne)   |  Convertit les caractères de la chaîne d'entrée en majuscules.  | 
|  `LOWER`  |   LOWER (chaîne)   |  Convertit les caractères de la chaîne d'entrée en minuscules.  | 
|  `TRIM`  |   TRIM (chaîne)   |  Supprime les espaces du début, de la fin ou des deux côtés de la chaîne.  | 
|  `LTRIM`  |   LTRIM (chaîne)   |  Supprime les espaces au début de la chaîne.  | 
|  `RTRIM`  |   RTRIM (chaîne)   |  Supprime les espaces situés à la fin de la chaîne.  | 
|  `STR_REPLACE`  |   STR\$1REPLACE (chaîne, de, à)   |  Remplace toutes les occurrences de la sous-chaîne spécifiée par une autre sous-chaîne spécifiée.  | 

Exemples de toutes les fonctions :


|  **Fonction**  |  **Exemple**  | 
| --- | --- | 
|  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/fr_fr/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`   | 

## Opérateur de concaténation
<a name="sql-operators-concatenation"></a>

 L'opérateur de concaténation`||`, ou opérateur de canal, joint deux chaînes. Elle fournit une alternative à la `CONCAT` fonction et est plus lisible lors de la combinaison de plusieurs chaînes.

**Example de l'opérateur de concaténation**  

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

# Fonctions mathématiques
<a name="sql-functions-math"></a>

 Les fonctions mathématiques sont des opérations mathématiques prédéfinies utilisées dans les requêtes SQL pour effectuer des calculs sur des données numériques. Ils permettent de manipuler et de transformer les données sans avoir à les extraire de la base de données et à les traiter séparément. 


**Fonctions mathématiques**  

|  **Fonction**  |  **Signature**  |  **Description**  | 
| --- | --- | --- | 
|  `POWER`  |  PUISSANCE (int\$1double, int\$1double)  |  Renvoie la valeur du premier argument augmentée à la puissance du second argument.  | 
|  `ROUND`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/sql-functions-math.html)  |  Arrondit à l'entier le plus proche.  | 
|  `FLOOR`  |   ÉTAGE (int\$1double)   |  Renvoie le plus grand entier ne dépassant pas la valeur donnée.  | 

Exemples de toutes les fonctions :


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

# Fonctions de date et d'heure
<a name="sql-functions-date"></a>

 Les fonctions de date et d'heure fonctionnent avec les dates et les heures. Ces fonctions permettent d'extraire des composants spécifiques d'une date, d'effectuer des calculs et de manipuler les valeurs de date.

Les identifiants autorisés dans ces fonctions sont les suivants :
+ YEAR
+ MONTH
+ DAY
+ HOUR
+ MINUTE
+ SECOND


|  **Fonction**  |  **Signature**  |  **Description**  | 
| --- | --- | --- | 
|  `NOW`  |   MAINTENANT ()   |  Renvoie l'horodatage actuel avec une précision de la milliseconde. Il fournit l'heure exacte à laquelle il est exécuté dans une requête.  | 
|  `DATE_ADD`  |  DATE\$1ADD (identifiant, durée de l'intervalle, colonne)  |  Renvoie la somme de a date/time et d'un nombre d'days/hours, or of a date/time and date/timeintervalles.  | 
|  `DATE_SUB`  |  DATE\$1SUB (identifiant, durée de l'intervalle, colonne)  |  Renvoie la différence entre un date/time et un certain nombre d'days/hours, or between a date/time and date/timeintervalles.  | 
|  `TIMESTAMP_ADD`  |  TIMESTAMP\$1ADD (identifiant, durée de l'intervalle, colonne)  |  Ajoute un intervalle de temps, dans les unités de temps données, à une expression datetime.  | 
|  `TIMESTAMP_SUB`  |  TIMESTAMP\$1SUB (identifiant, durée de l'intervalle, colonne)  |  Soustrait un intervalle de temps, dans les unités de temps données, d'une expression datetime.  | 
|  `CAST`  |  CAST (modèle d'expression AS TIMESTAMP FORMAT)  |  Convertit une expression de chaîne en horodatage en utilisant le modèle de format spécifié. Les modèles courants incluent `'yyyy-MM-dd HH:mm:ss'` le format date/heure standard. Par exemple, `SELECT CAST('2023-12-25 14:30:00' AS TIMESTAMP) AS converted_timestamp`  | 

**Example d'une requête SQL utilisant les fonctions répertoriées :**  

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

# Fonctions de conversion de type
<a name="sql-functions-type-conv"></a>

 Les fonctions de conversion de type sont utilisées pour changer le type de données d'une valeur de l'un à l'autre. Ils sont essentiels pour garantir la compatibilité des données et effectuer des opérations nécessitant des données dans un format spécifique. 


|  **Fonction**  |  **Signature**  |  **Description**  | 
| --- | --- | --- | 
|  `TO_DATE`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 
|  `TO_TIMESTAMP`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 
|  `TO_TIME`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 
|  `CAST`  |  CASTING (<expression>AS<data type>)  |  Convertit une entité, ou une expression qui donne une valeur unique, d'un type à un autre. Les types de données pris en charge sont : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 

**Example d'une requête SQL utilisant les fonctions répertoriées :**  

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

# Fonctions d’agrégation
<a name="sql-functions-aggregated"></a>

 Les fonctions d'agrégation sont des opérations de base de données qui effectuent des calculs sur plusieurs lignes de données afin de produire un seul résultat résumé. Ces fonctions analysent les ensembles de données pour renvoyer des valeurs calculées telles que des sommes, des moyennes, des dénombrements ou d'autres mesures statistiques. 


|  **Fonction**  |  **Signature**  |  **Description**  | 
| --- | --- | --- | 
|  `AVG`  |  AVG (expression)  |  Renvoie la moyenne d'une expression numérique.  | 
|  `COUNT`  |  NOMBRE (expression)  |  Renvoie le nombre de lignes correspondant aux critères donnés.  | 
|  `MAX`  |  MAX (expression)  |  Renvoie la plus grande valeur des expressions sélectionnées.  | 
|  `MIN`  |  MIN (expression)  |  Renvoie la plus petite valeur des expressions sélectionnées.  | 
|  `SUM`  |  SOMME (expression)  |  Renvoie la somme d'une expression numérique.  | 
|  `STDDEV`  |  STDDEV (expression)  |  Renvoie l'écart type de l'échantillon.  | 
|  `GROUP BY`  |  GROUPER PAR expression  |  Renvoie une ligne créée par les colonnes de regroupement.  | 
|  `HAVING`  |  AYANT une expression booléenne  |  Renvoie les lignes du groupe filtrées par `GROUP BY` clause.  | 

Exemples de toutes les fonctions :


|  **Fonction**  |  **Exemple**  | 
| --- | --- | 
|  AVG  |  <pre>SELECT d.asset_id, d.property_id, AVG(d.int_value) FROM raw_time_series AS d</pre>  | 
|  COUNT  |  <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/fr_fr/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>  | 

# Exemples de requêtes
<a name="sql-examples"></a>

## Filtrage de métadonnées
<a name="sql-examples-meta-filter"></a>

L'exemple suivant concerne le filtrage des métadonnées avec une `SELECT` instruction contenant le langage de AWS IoT SiteWise requête :

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

## Filtrage des valeurs
<a name="sql-examples-value-filter"></a>

Voici un exemple de filtrage de valeurs à l'aide d'une `SELECT` instruction utilisant le langage de AWS IoT SiteWise requête :

```
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'
```