메인 콘텐츠로 건너뛰기
정확한 계산이 필요하고, 특히 높은 정밀도가 요구되는 금융 또는 비즈니스 데이터를 다루는 경우에는 Decimal 사용을 고려하십시오.아래 예시에서 보듯이 부동소수점 수는 부정확한 결과를 초래할 수 있습니다.
ClickHouse와 C에서 대응되는 타입은 다음과 같습니다.
  • Float32float.
  • Float64double.
ClickHouse의 Float 타입에는 다음과 같은 Aliases가 있습니다.
  • Float32FLOAT, REAL, SINGLE.
  • Float64DOUBLE, DOUBLE PRECISION.
테이블을 생성할 때 부동소수점 수에 대한 숫자 매개변수를 지정할 수 있지만(예: FLOAT(12), FLOAT(15, 22), DOUBLE(12), DOUBLE(4, 18)), ClickHouse는 이를 무시합니다.

부동소수점 수 사용

  • 부동소수점 수를 사용한 계산에서는 반올림 오류가 발생할 수 있습니다.
  • 계산 결과는 계산 방식(컴퓨터 시스템의 프로세서 유형과 아키텍처)에 따라 달라집니다.
  • 부동소수점 계산에서는 무한대(Inf) 및 “숫자가 아님”(NaN)과 같은 값이 나올 수 있습니다. 계산 결과를 처리할 때는 이 점을 고려해야 합니다.
  • 텍스트에서 부동소수점 수를 파싱할 때, 결과가 기계에서 표현 가능한 가장 가까운 숫자가 아닐 수 있습니다.

NaN 및 Inf

표준 SQL과 달리 ClickHouse는 다음과 같은 부동소수점 수 범주를 지원합니다.
  • Inf – 무한대입니다.
  • -Inf — 음의 무한대입니다.
  • NaN — 숫자가 아닙니다.
ORDER BY 절 섹션에서 NaN 정렬 규칙을 확인하십시오.

BFloat16

BFloat16은 8비트 지수부, 1비트 부호, 7비트 가수로 구성된 16비트 부동소수점 데이터 타입입니다. 머신 러닝 및 AI 애플리케이션에 유용합니다. ClickHouse는 Float32BFloat16 간의 변환을 지원하며, 이 변환은 toFloat32() 또는 toBFloat16 함수를 사용해 수행할 수 있습니다.
대부분의 다른 연산은 지원되지 않습니다.
마지막 수정일 2026년 6월 19일