

# Considerações sobre tipos de dados
<a name="data-types-considerations"></a>

## Limites de tamanho
<a name="data-types-considerations-size"></a>

Para tipos de dados que não especificam um limite de tamanho, lembre-se de que há um limite prático de 32 MB para todos os dados em uma única linha. Para obter mais informações, consulte [Row or column size limitation](other-notable-limitations.md#sql-limitations-rowsize) em [Considerações e limitações das consultas SQL no Amazon Athena](other-notable-limitations.md).

## CHAR e VARCHAR
<a name="data-types-considerations-char"></a>

Um valor `CHAR(n)` sempre tem uma contagem de `n` caracteres. Por exemplo, se você lançar “abc” para `CHAR(7)`, 4 espaços finais serão adicionados. 

As comparações de valores `CHAR` incluem espaços à esquerda e à direita. 

Se um comprimento for especificado para `CHAR` ou `VARCHAR`, as strings serão truncadas no comprimento especificado quando lidas. Se a string de dados subjacente for mais longa, a string de dados subjacente permanecerá inalterada.

Para escapar uma aspas simples em um `CHAR` ou `VARCHAR`, use uma aspas simples adicional.

Para converter um tipo de dados que não seja uma string em uma consulta DML, converta para o tipo de dados `VARCHAR`.

Para usar a função `substr` para retornar uma substring de comprimento específico proveniente de um tipo de dados `CHAR`, primeiro é necessário lançar o valor `CHAR` como `VARCHAR`. No exemplo a seguir, `col1` usa o tipo de dados `CHAR`.

```
substr(CAST(col1 AS VARCHAR), 1, 4)
```

## DECIMAL
<a name="data-types-considerations-decimal"></a>

Para especificar valores decimais como literais em consultas `SELECT`, como ao selecionar linhas com um valor decimal específico, é possível especificar o tipo `DECIMAL` e listar o valor decimal como um literal entre aspas simples na consulta, como nos exemplos a seguir.

```
SELECT * FROM my_table
WHERE decimal_value = DECIMAL '0.12'
```

```
SELECT DECIMAL '44.6' + DECIMAL '77.2'
```