Considérations relatives aux types de données
Limites de taille
Pour les types de données qui ne spécifient pas de limite de taille, gardez à l’esprit qu’une limite pratique de 32 Mo s’applique pour toutes les données d’une même ligne. Pour plus d'informations, consultez Row or column size limitation dans Considérations et limitations relatives aux requêtes SQL dans Amazon Athena.
CHAR et VARCHAR
Une valeur CHAR( comporte toujours n) caractères. Par exemple, si vous convertissez « abc » en nCHAR(7), quatre espaces de fin sont ajoutés.
Les comparaisons de valeurs CHAR incluent les espaces de début et de fin.
Si une longueur est spécifiée pour CHAR ou VARCHAR, les chaînes sont tronquées à la longueur spécifiée lors de la lecture. Si la chaîne de données sous-jacente est plus longue, elle reste inchangée.
Pour échapper un guillemet simple dans CHAR ou VARCHAR, utilisez un guillemet simple supplémentaire.
Pour convertir un type de données autre qu’une chaîne en chaîne dans une requête DML, utilisez VARCHAR.
Pour utiliser la fonction substr afin de renvoyer une sous-chaîne d’une longueur spécifiée à partir du type de données CHAR, vous devez d’abord convertir la valeur CHAR en VARCHAR. Dans l’exemple suivant, col1 utilise le type de données CHAR.
substr(CAST(col1 AS VARCHAR), 1, 4)
DECIMAL
Pour spécifier des valeurs décimales en tant que littéraux dans des requêtes SELECT, par exemple lors de la sélection de lignes ayant une valeur décimale spécifique, vous pouvez spécifier le type DECIMAL et indiquer la valeur décimale en tant que littéral entre guillemets simples dans votre requête, comme illustré dans les exemples suivants.
SELECT * FROM my_table WHERE decimal_value = DECIMAL '0.12'
SELECT DECIMAL '44.6' + DECIMAL '77.2'