Float32 | Float64 | BFloat16 タイプ
注記
もし正確な計算が必要な場合、特に高い精度を要求する財務やビジネスデータを扱う場合は、代わりに Decimal の使用を検討してください。
Floating Point Numbers は以下に示すように不正確な結果をもたらす可能性があります:
ClickHouse と C の同等の型は以下の通りです:
Float32
—float
。Float64
—double
。
ClickHouse の Float 型には以下のエイリアスがあります:
Float32
—FLOAT
、REAL
、SINGLE
。Float64
—DOUBLE
、DOUBLE PRECISION
。
テーブルを作成する際、浮動小数点数の数値パラメータを設定することができます(例:FLOAT(12)
、FLOAT(15, 22)
、DOUBLE(12)
、DOUBLE(4, 18)
)、ただし ClickHouse はそれらを無視します。
浮動小数点数の使用
- 浮動小数点数での計算は丸め誤差を生じる可能性があります。
- 計算の結果は計算方法(プロセッサの種類やコンピュータシステムのアーキテクチャ)に依存します。
- 浮動小数点計算では無限大(
Inf
)や「数でない」(NaN
)などの数が出力される可能性があります。計算結果を処理する際にはこれを考慮する必要があります。 - テキストから浮動小数点数を解析する際、結果は最も近い機械表現可能な数でない場合があります。
NaN と Inf
標準 SQL と対照的に、ClickHouse は以下の種類の浮動小数点数をサポートしています:
Inf
– 無限大。
-Inf
— 負の無限大。
NaN
— 数でない。
NaN
のソートに関するルールは、ORDER BY句のセクションを参照してください。
BFloat16
BFloat16
は 8 ビットの指数部、符号、7 ビットの仮数を持つ 16 ビット浮動小数点データ型です。
これは機械学習や AI アプリケーションに便利です。
ClickHouse は Float32
と BFloat16
の間での変換をサポートしており、これは toFloat32()
または toBFloat16
関数を使用して行うことができます。
注記
ほとんどの他の操作はサポートされていません。