ClickHouse と C における対応する型は次のとおりです。
Float32—floatFloat64—double
ClickHouse における浮動小数点数型には次のエイリアスがあります。
Float32—FLOAT、REAL、SINGLEFloat64—DOUBLE、DOUBLE PRECISION
テーブルを作成する際、浮動小数点数に対して数値パラメータを指定できます(例: FLOAT(12)、FLOAT(15, 22)、DOUBLE(12)、DOUBLE(4, 18))が、ClickHouse はこれらを無視します。
浮動小数点数を使用する
- 浮動小数点数での計算では、丸め誤差が発生することがあります。
- 計算結果は、計算方法(コンピュータシステムのプロセッサの種類およびアーキテクチャ)によって異なります。
- 浮動小数点計算では、無限大(
Inf)や "not-a-number"(NaN)といった値が結果として得られる場合があります。計算結果を処理する際には、この点を考慮する必要があります。 - 文字列から浮動小数点数を解析する場合、結果が最も近い機械表現可能な数値にならないことがあります。
NaN と Inf
標準的な SQL とは異なり、ClickHouse は次のカテゴリの浮動小数点数をサポートしています。
Inf– 無限大。
-Inf— 負の無限大。
NaN— 「Not a Number」(数値ではないことを示す値)。
NaN のソート規則については、ORDER BY 句 を参照してください。
BFloat16
BFloat16 は、8 ビットの指数部、符号、7 ビットの仮数部を持つ 16 ビット浮動小数点データ型です。
機械学習や AI アプリケーションに有用です。
ClickHouse は Float32 と BFloat16 間の変換をサポートしており、
toFloat32() または toBFloat16 関数で行えます。
注記
その他のほとんどの演算はサポートされていません。