Athenaで小数点を表示されないときの対処法をまとめておきます
Athenaで小数点を表示させる
AthenaはPrestoをベースにしているので、Prestoの関数を利用してクエリを書くことができます。小数点以下を表示させたい場合は、ROUND
関数や FORMAT
関数を利用することができます。
例えば、your_column
というカラムに小数点数値が入っているとして、これを小数点以下2桁で表示したい場合は以下のようなクエリを書くことができます。
SELECT ROUND(your_column, 2) AS rounded_value FROM your_table;
このクエリでは、your_column
の値を小数点以下2桁で丸めてrounded_value
として表示します。また、特定のフォーマットで数値を文字列として表示したい場合は、FORMAT
関数を利用できます。
SELECT FORMAT('%.2f', your_column) AS formatted_value FROM your_table;
このクエリでは、your_column
の値を小数点以下2桁の形式で文字列としてformatted_value
に表示します。
どちらの方法も、Athenaで小数点以下を制御して表示する際に利用できます。
Athenaで割り算の結果を小数点まで表示させる
Amazon Athenaで割り算の結果を小数点まで表示させるには、少なくとも一方の数値を小数点型(浮動小数点型)にキャストする必要があります。Athenaはデフォルトで整数同士の割り算を整数として処理するため、小数点以下の結果が必要な場合は、明示的に数値型を変換する必要があります。
以下に具体的な例を示します。この例では、column1
とcolumn2
を割り算して、その結果を小数点型で表示します。
SELECT column1, column2, CAST(column1 AS DOUBLE) / column2 AS division_result FROM your_table;
このクエリでは、column1
をDOUBLE
型(浮動小数点型)にキャストしてからcolumn2
で割っています。これにより、結果は小数点型で表示されます。
注意点
CAST(column1 AS DOUBLE)
はcolumn1
をDOUBLE
型(浮動小数点型)に変換しています。必要に応じてFLOAT
や他の数値型を使用することも可能です。
- 0で割ることがないように注意してください。0で割るとエラーになります。必要であれば、0による割り算を回避するための条件(例:
WHERE column2 <> 0
)を追加することを検討してください。
コメント