

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.

# Échappement des mots-clés réservés dans les requêtes
<a name="reserved-words"></a>

Lorsque vous exécutez des requêtes dans Athena qui incluent des mots-clés réservés, vous devez le spécifier en les plaçant entre caractères spéciaux. Utilisez les listes de cette rubrique pour vérifier quels mots-clés sont réservés dans Athena. 

Pour spécifier des mots-clés réservés dans des instructions DDL, placez-les entre guillemets obliques (`). Pour spécifier des mots-clés réservés dans les instructions SQL `SELECT` et dans les requêtes sur les [vues](views.md), placez-les entre des guillemets doubles ('').
+  [Mots-clés réservés à échapper dans les instructions DDL](#list-of-ddl-reserved-words) 
+  [Mots-clés réservés à échapper dans les instructions SQL SELECT](#list-of-reserved-words-sql-select) 
+  [Exemples de requêtes avec mots réservés](#examples-reserved-words) 

## Mots-clés réservés à échapper dans les instructions DDL
<a name="list-of-ddl-reserved-words"></a>

Athena utilise la liste suivante de mots-clés réservés dans ses instructions DDL. Si vous les utilisez sans les spécifier, Athena rencontre une erreur. Pour les spécifier, placez-les entre guillemets obliques (`).

Vous ne pouvez pas utiliser des mots-clés réservés DDL comme noms identificateurs dans des instructions DDL sans les placer entre guillemets obliques (`).

```
ALL, ALTER, AND, ARRAY, AS, AUTHORIZATION, BETWEEN, BIGINT, 
BINARY, BOOLEAN, BOTH, BY, CASE, CASHE, CAST, CHAR, COLUMN, 
CONF, CONSTRAINT, COMMIT, CREATE, CROSS, CUBE, CURRENT, 
CURRENT_DATE, CURRENT_TIMESTAMP, CURSOR, DATABASE, DATE, 
DAYOFWEEK, DECIMAL, DELETE, DESCRIBE, DISTINCT, DIV, DOUBLE, 
DROP, ELSE, END, EXCHANGE, EXISTS, EXTENDED, EXTERNAL, EXTRACT, 
FALSE, FETCH, FLOAT, FLOOR, FOLLOWING, FOR, FOREIGN, FROM, 
FULL, FUNCTION, GRANT, GROUP, GROUPING, HAVING, IF, IMPORT, 
IN, INNER, INSERT, INT, INTEGER, INTERSECT, INTERVAL, INTO, 
IS, JOIN, LATERAL, LEFT, LESS, LIKE, LOCAL, MACRO, MAP, MORE, 
NONE, NOT, NULL, NUMERIC, OF, ON, ONLY, OR, ORDER, OUT, 
OUTER, OVER, PARTIALSCAN, PARTITION, PERCENT, PRECEDING, 
PRECISION, PRESERVE, PRIMARY, PROCEDURE, RANGE, READS, 
REDUCE, REGEXP, REFERENCES, REVOKE, RIGHT, RLIKE, ROLLBACK, 
ROLLUP, ROW, ROWS, SELECT, SET, SMALLINT, START,TABLE, 
TABLESAMPLE, THEN, TIME, TIMESTAMP, TO, TRANSFORM, TRIGGER, 
TRUE, TRUNCATE, UNBOUNDED,UNION, UNIQUEJOIN, UPDATE, USER, 
USING, UTC_TIMESTAMP, VALUES, VARCHAR, VIEWS, WHEN, WHERE, 
WINDOW, WITH
```

## Mots-clés réservés à échapper dans les instructions SQL SELECT
<a name="list-of-reserved-words-sql-select"></a>

Athena utilise la liste suivante de mots-clés réservés dans ses instructions SQL `SELECT` et les requêtes sur des vues. 

Si vous utilisez ces mots-clés comme identificateurs, vous devez les placer entre guillemets doubles (") dans les instructions de votre requête.

```
ALTER, AND, AS, BETWEEN, BY, CASE, CAST, CONSTRAINT, CREATE, 
CROSS, CUBE, CURRENT_CATALOG, CURRENT_DATE, CURRENT_PATH, 
CURRENT_SCHEMA, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER, 
DEALLOCATE, DELETE, DESCRIBE, DISTINCT, DROP, ELSE, END, ESCAPE, 
EXCEPT, EXECUTE, EXISTS, EXTRACT, FALSE, FIRST, FOR, FROM, 
FULL, GROUP, GROUPING, HAVING, IN, INNER, INSERT, INTERSECT, 
INTO, IS, JOIN, JSON_ARRAY, JSON_EXISTS, JSON_OBJECT, 
JSON_QUERY, JSON_TABLE, JSON_VALUE, LAST, LEFT, LIKE, 
LISTAGG, LOCALTIME, LOCALTIMESTAMP, NATURAL, NORMALIZE, 
NOT, NULL, OF, ON, OR, ORDER, OUTER, PREPARE, RECURSIVE, RIGHT, 
ROLLUP, SELECT, SKIP, TABLE, THEN, TRIM, TRUE, UESCAPE, UNION, 
UNNEST, USING, VALUES, WHEN, WHERE, WITH
```

## Exemples de requêtes avec mots réservés
<a name="examples-reserved-words"></a>

La requête de l'exemple suivant utilise des accents graves (`) pour mettre en échappement les mots-clés réservés DDL *partition* et *date* qui sont utilisés pour un nom de table et l'un des noms de colonnes :

```
CREATE EXTERNAL TABLE {{`partition`}} (
{{`date`}} INT, 
col2 STRING
)
PARTITIONED BY (year STRING)
STORED AS TEXTFILE
LOCATION 's3://amzn-s3-demo-bucket/test_examples/';
```

L'exemple de requête suivant inclut un nom de colonne contenant les mots-clés réservés DDL dans les instructions `ALTER TABLE ADD PARTITION` et les `ALTER TABLE DROP PARTITION`. Les mots-clés réservés DDL sont placés entre accents graves (`) :

```
ALTER TABLE test_table 
ADD PARTITION ({{`date`}} = '2018-05-14')
```

```
ALTER TABLE test_table 
DROP PARTITION ({{`partition`}} = 'test_partition_value')
```

Dans l'exemple suivant, la requête comprend un mot-clé réservé (fin) comme identificateur dans une instruction `SELECT`. Le mot-clé est placé entre guillemets droits : 

```
SELECT * 
FROM TestTable
WHERE "end" != nil;
```

Dans l'exemple suivant, la requête comprend un mot-clé réservé (en premier) comme identificateur dans une instruction `SELECT`. Le mot-clé est placé entre guillemets droits : 

```
SELECT "itemId"."first" 
FROM testTable 
LIMIT 10;
```