Float32 | Float64 | BFloat16 타입
참고
정확한 계산, 특히 높은 정밀도가 필요한 금융 또는 비즈니스 데이터로 작업하는 경우에는 Decimal 사용을 고려하는 것이 좋습니다.
부동 소수점 수(Floating Point Numbers)는 아래 예시와 같이 부정확한 결과를 초래할 수 있습니다.
ClickHouse와 C에서의 동일한 타입은 다음과 같습니다.
Float32—float.Float64—double.
ClickHouse의 부동 소수점 타입에는 다음과 같은 별칭이 있습니다.
Float32—FLOAT,REAL,SINGLE.Float64—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 함수를 사용해 수행할 수 있습니다.
참고
대부분의 다른 연산은 지원되지 않습니다.