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
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 à échapper 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, 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
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
Dans l'exemple suivant, la requête utilise des backticks (`) pour échapper aux mots clés DDL-related réservés partition et date utilisés pour le nom d'une table et l'un des noms de colonne :
CREATE EXTERNAL TABLE`partition`(`date`INT, col2 STRING ) PARTITIONED BY (year STRING) STORED AS TEXTFILE LOCATION 's3://amzn-s3-demo-bucket/test_examples/';
Les exemples de requêtes suivants incluent un nom de colonne contenant les mots clés DDL-related réservés dans ALTER TABLE ADD PARTITION et ALTER TABLE DROP
PARTITION les instructions. 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;