データ型に関する考慮事項
サイズ制限
サイズ制限を指定しないデータ型については、単一の行内にあるすべてのデータに対して 32MB という実用的制限が設定されていることに注意してください。詳細については、「Amazon Athena での SQL クエリに関する考慮事項と制約事項」の Row or column size limitation を参照してください。
CHAR と VARCHAR
CHAR(
値には、常に n
)
の文字数があります。たとえば、n
CHAR(7)
に「abc」をキャストすると、末尾に 4 つのスペースが追加されます。
CHAR
値の比較には、先頭と末尾のスペースが含まれます。
CHAR
または VARCHAR
に長さが指定されている場合、文字列は読み取り時に指定された長さで切り捨てられます。基盤となるデータ文字列がそれより長い場合、基盤となるデータ文字列はそのまま変更されません。
CHAR
または VARCHAR
で一重引用符をエスケープするには、追加の一重引用符を使用します。
DML クエリ内の文字列に文字列以外のデータ型をキャストするには、VARCHAR
データ型にキャストします。
substr
関数を使用して CHAR
データ型から指定された長さの従属文字列を返すには、まず CHAR
値を VARCHAR
としてキャストする必要があります。以下の例では、col1
が CHAR
データ型を使用します。
substr(CAST(col1 AS VARCHAR), 1, 4)
DECIMAL
特定の 10 進値を含む行を選択する場合など、SELECT
クエリのリテラルとして 10 進値を指定するには、以下の例にあるように、クエリ内で DECIMAL
型を指定し、一重引用符内のリテラルとして 10 進値をリストすることができます。
SELECT * FROM my_table WHERE decimal_value = DECIMAL '0.12'
SELECT DECIMAL '44.6' + DECIMAL '77.2'