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 関数を使用して行うことができます。
注記
ほとんどの他の操作はサポートされていません。