

# Consideraciones sobre los tipos de datos
<a name="data-types-considerations"></a>

## Límites de tamaño
<a name="data-types-considerations-size"></a>

En el caso de los tipos de datos que no especifican un límite de tamaño, tenga en cuenta que existe un límite práctico de 32 MB para todos los datos de una sola fila. Para obtener más información, consulte [Row or column size limitation](other-notable-limitations.md#sql-limitations-rowsize) en [Consideraciones y limitaciones de las consultas SQL en Amazon Athena](other-notable-limitations.md).

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

Un valor `CHAR(n)` siempre tiene un recuento de `n` caracteres. Por ejemplo, si cambia “abc” a `CHAR(7)`, se añaden 4 espacios finales. 

Las comparaciones de valores `CHAR` incluyen espacios iniciales y finales. 

Si se especifica una longitud para `CHAR` o `VARCHAR`, las cadenas se truncan con la longitud especificada al leerlas. Si la cadena de datos subyacente es más larga, esta permanece sin cambios.

Para evitar una comilla simple en un `CHAR` o `VARCHAR`, utilice una comilla simple adicional.

Para convertir un tipo de datos que no sea una cadena en una consulta DML, cámbielo al tipo de datos `VARCHAR`.

Para utilizar la función `substr` para devolver una subcadena de longitud especificada desde un tipo de datos `CHAR`, primero debe convertir el valor de `CHAR` a `VARCHAR`. En el siguiente ejemplo, `col1` utiliza el tipo de datos `CHAR`.

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

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

Para especificar valores decimales como literales en consultas `SELECT` como, por ejemplo, al seleccionar filas con un valor decimal específico, puede especificar el tipo `DECIMAL` y enumerar el valor decimal como literal entre comillas simples en su consulta, como en este ejemplo:

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

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