Considérations relatives aux types de données - Amazon Athena

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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'il existe une limite pratique de 32 Mo pour toutes les données d'une seule ligne. Pour plus d'informations, consultez Row or column size limitation dans Considérations et limites relatives aux SQL requêtes dans Amazon Athena.

CHARet VARCHAR

Une CHAR(n) valeur comporte toujours un nombre de n caractères. Par exemple, si vous convertissez « abc » enCHAR(7), 4 espaces de fin sont ajoutés.

Les comparaisons de CHAR valeurs incluent les espaces de début et de fin.

Si une longueur est spécifiée pour CHAR ouVARCHAR, 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 éviter un guillemet unique dans un CHAR ouVARCHAR, utilisez un guillemet unique supplémentaire.

Pour convertir un type de données autre qu'une chaîne en chaîne dans une DML requête, convertissez-le en type de VARCHAR données.

Pour utiliser la substr fonction afin de renvoyer une sous-chaîne d'une longueur spécifiée à partir d'un type de CHAR données, vous devez d'abord convertir la CHAR valeur enVARCHAR. Dans l'exemple suivant, col1 utilise le type de CHAR données.

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

DECIMAL

Pour spécifier des valeurs décimales sous forme de littéraux dans les SELECT requêtes, par exemple lorsque vous sélectionnez des lignes contenant une valeur décimale spécifique, vous pouvez spécifier le DECIMAL type et répertorier la valeur décimale sous forme de littéral entre guillemets simples dans votre requête, comme dans les exemples suivants.

SELECT * FROM my_table WHERE decimal_value = DECIMAL '0.12'
SELECT DECIMAL '44.6' + DECIMAL '77.2'