mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-10-21 07:50:49 +00:00
9a245f7930
* Link fix. * DOCAPI-7438: Update of quantileTiming functions docs. * Update docs/en/query_language/agg_functions/reference.md Co-Authored-By: Ivan Blinkov <github@blinkov.ru> * Update docs/en/query_language/agg_functions/reference.md Co-Authored-By: Ivan Blinkov <github@blinkov.ru> * Update docs/en/query_language/agg_functions/reference.md Co-Authored-By: Ivan Blinkov <github@blinkov.ru> * DOCAPI-7438: Clarifications. * DOCAPI-7438: Links fix.
2.4 KiB
2.4 KiB
Float32, Float64
Type های float در ClickHouse مشابه C می باشد:
Float32
-float
Float64
-double
توصیه می کنیم که داده ها را هرزمان که امکان پذیره است به جای float به صورت int ذخیره کنید. برای مثال: تبدیل دقت اعداد به یک مقدار int، مثل سرعت page load در قالب میلی ثانیه.
استفاده از اعداد Float
- محاسبات با اعداد با Float ممکن است خطای round شدن را ایجاد کنند.
SELECT 1 - 0.9
┌───────minus(1, 0.9)─┐
│ 0.09999999999999998 │
└─────────────────────┘
- نتایج محاسبات بسته به متد محاسباتی می باشد (نوع processor و معماری سیستم).
- محاسبات Float ممکن اسن نتایجی مثل infinity (
inf
) و "Not-a-number" (Nan
) داشته باشد. این در هنگام پردازش نتایج محاسبات باید مورد توجه قرار گیرد. - هنگام خواندن اعداد float از سطر ها، نتایج ممکن است نزدیک به اعداد machine-representable نباشد.
NaN و Inf
در مقابل استاندارد SQL، ClickHouse از موارد زیر مربوط به اعداد float پشتیبانی می کند:
Inf
– Infinity.
SELECT 0.5 / 0
┌─divide(0.5, 0)─┐
│ inf │
└────────────────┘
-Inf
– Negative infinity.
SELECT -0.5 / 0
┌─divide(-0.5, 0)─┐
│ -inf │
└─────────────────┘
NaN
– Not a number.
SELECT 0 / 0
┌─divide(0, 0)─┐
│ nan │
└──────────────┘
قوانین مربوط به مرتب سازی Nan
را در بخش ORDER BY clause ببینید.