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.
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, placez-les entre des guillemets doubles ('').
Mots clés réservés à éviter dans les instructions DDL
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 auxquels il est possible d'échapper dans les instructions SQL SELECT
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
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;