

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à.

# Tipi di dati
<a name="s3-select-sql-reference-data-types"></a>

**Importante**  
Amazon S3 Select non è più disponibile per i nuovi clienti. I clienti esistenti di Amazon S3 Select possono continuare a utilizzare la funzionalità come di consueto. [Ulteriori informazioni](https://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/) 

Amazon S3 Select supporta diversi tipi di dati primitivi.

## Conversioni dei tipi di dati
<a name="s3-select-sql-reference-data-conversion"></a>

La regola generale è di seguire la funzione `CAST` se definita. Se `CAST` non è definita, tutti i dati di input vengono trattati come stringa. In tal caso, è necessario inserire i dati di input ai tipi di dati pertinenti quando necessario.

Per ulteriori informazioni sulla funzione `CAST`, consulta [CAST](s3-select-sql-reference-conversion.md#s3-select-sql-reference-cast).

## Tipi di dati supportati
<a name="s3-select-sql-reference-supported-data-types"></a>

Amazon S3 Select supporta il seguente set di tipi di dati primitivi.


|  Nome  |  Descrizione  |  Esempi  | 
| --- | --- | --- | 
| `bool` | Un valore booleano, `TRUE` o `FALSE`. | `FALSE` | 
| `int`, `integer` | Intero con segno da 8 byte compreso nell'intervallo da -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807.  | `100000` | 
| `string` | Una stringa di lunghezza variabile con codifica. UTF8 Il limite di default è 1 carattere. Il limite massimo di caratteri è 2.147.483.647.  | `'xyz'` | 
| `float` | Numero in virgola mobile a 8 byte.  | `CAST(0.456 AS FLOAT)` | 
| `decimal`, `numeric` |  Numero in base 10, con una precisione massima di 38 (ovvero il numero massimo di cifre significative) e con scala compresa nell'intervallo da -231 a 231-1 (ovvero l'esponente in base 10).  Amazon S3 Select ignora il dimensionamento e la precisione quando vengono forniti entrambi contemporaneamente.   | `123.456 ` | 
| `timestamp` |  I time stamp rappresentano un momento specifico nel tempo, includono sempre un offset locale e consentono di stabilire una precisione arbitraria. Nel formato di testo, i timestamp seguono i [formati di data e ora della notazione W3C](https://www.w3.org/TR/NOTE-datetime), ma devono terminare con il letterale `T` se la precisione non è di almeno un giorno completo. Le frazioni di secondo sono consentite, con una precisione di almeno una cifra e un valore massimo illimitato. Gli offset in ora locale possono essere rappresentati con il formato UTC ora:minuto o con il letterale `Z` per indicare un'ora locale UTC. Le differenze per l'ora locale sono obbligatorie nei time stamp che includono l'ora e non sono consentiti nei valori di data.  | `CAST('2007-04-05T14:30Z' AS TIMESTAMP)` | 

### Tipi supportati Parquet
<a name="s3-select-sql-reference-supported-data-types-parquet"></a>

Amazon S3 Select supporta i seguenti tipi di Parquet:
+ `DATE`
+ `DECIMAL`
+ `ENUM`
+ `INT(8)`
+ `INT(16)`
+ `INT(32)`
+ `INT(64)`
+ `LIST`
**Nota**  
Per l'output del tipo `LIST` Parquet, Amazon S3 Select supporta solo il formato JSON. Tuttavia, se la query limita i dati a valori semplici, il tipo di `LIST` Parquet può essere interrogato anche in formato CSV.
+ `STRING`
+ `TIMESTAMP` precisione supportata (`MILLIS`/`MICROS`/`NANOS`)
**Nota**  
I timestamp salvati come `INT(96)` non sono supportati.   
A causa della gamma del tipo `INT(64)`, i timestamp che utilizzano l'unità `NANOS` possono rappresentare solo valori compresi tra `1677-09-21 00:12:43` e `2262-04-11 23:47:16`. I valori al di fuori di questo intervallo non possono essere rappresentati con l'unità `NANOS`.

### Mappatura dei tipi di Parquet ai tipi di dati supportati in Amazon S3 Select
<a name="s3-select-sql-reference-supported-data-types-parquet-mapping"></a>


| Tipi di Parquet | Tipi di dati supportati | 
| --- | --- | 
| `DATE` |  `timestamp`  | 
|  `DECIMAL`  |  `decimal`, `numeric`  | 
|  `ENUM`  |  `string`  | 
|  `INT(8)`  |  `int`, `integer`  | 
|  `INT(16)`  | `int`, `integer` | 
| `INT(32)` | `int`, `integer` | 
|  `INT(64)`  |  `decimal`, `numeric`  | 
|  `LIST`  |  Ogni tipo di Parquet nell'elenco è mappato al tipo di dati corrispondente  | 
|  `STRING`  |  `string`  | 
|  `TIMESTAMP`  |  `timestamp`  | 