

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Impostare il carattere escape di parole chiave riservate nelle query
<a name="reserved-words"></a>

Quando si esegue le query in Athena che includono parole chiave riservate, devi racchiuderli tra caratteri speciali. Utilizza gli elenchi in questo argomento per verificare quali parole chiave sono riservate in Athena. 

Per impostare il carattere escape di parole chiave riservate in istruzioni DDL, occorre racchiuderle tra apici retroversi (`). Per impostare il carattere escape di parole chiave riservate in istruzioni SQL `SELECT` e nelle query su [viste](views.md), occorre racchiuderle tra doppie virgolette ('').
+  [Parole chiave riservate per le quali impostare il carattere escape nelle istruzioni DDL](#list-of-ddl-reserved-words) 
+  [Parole chiave riservate per le quali impostare il carattere escape nelle istruzioni SQL SELECT](#list-of-reserved-words-sql-select) 
+  [Esempi di query con parole riservate](#examples-reserved-words) 

## Parole chiave riservate per le quali impostare il carattere escape nelle istruzioni DDL
<a name="list-of-ddl-reserved-words"></a>

Athena utilizza il seguente elenco di parole chiave riservate nelle sue istruzioni DDL. Se le utilizzi senza importare il carattere escape, Athena emette un errore. Per impostarne il carattere escape, racchiudile tra apici retroversi (`).

Non è possibile utilizzare parole chiave riservate DDL come nomi di identificatori in istruzioni DDL senza racchiuderle tra apici retroversi (`).

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

## Parole chiave riservate per le quali impostare il carattere escape nelle istruzioni SQL SELECT
<a name="list-of-reserved-words-sql-select"></a>

Athena utilizza il seguente elenco di parole chiave riservate nelle istruzioni SQL `SELECT` e nelle query su viste. 

Se si utilizzano queste parole chiave come identificatori, è necessario racchiuderle tra doppie virgolette (") nella istruzioni di query.

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

## Esempi di query con parole riservate
<a name="examples-reserved-words"></a>

La query nell’esempio riportato di seguito utilizza gli apici retroversi (`) come caratteri escape delle parole chiave riservate associate al DDL *partizione* e *data*, utilizzate per un nome di tabella e per uno dei nomi di colonna:

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

Le seguenti query di esempio includono un nome di colonna contenente le parole chiave riservate correlate al DDL nelle istruzioni `ALTER TABLE ADD PARTITION` e `ALTER TABLE DROP PARTITION`. Le parole chiave DDL riservate vengono racchiuse tra apici retroversi (`):

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

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

La seguente query di esempio include una parola chiave riservata (end) come identificatore in un'istruzione `SELECT`. Il carattere escape della parola chiave è impostato racchiudendola tra doppie virgolette: 

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

La seguente query di esempio include una parola chiave riservata (first) in un'istruzione `SELECT`. Il carattere escape della parola chiave è impostato racchiudendola tra doppie virgolette: 

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