Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

수학 함수

acos

도입 버전: v1.1.0

인수의 아크코사인을 반환합니다.

구문

acos(x)

인수

반환 값

x의 아크코사인을 반환합니다. Float*

예시

사용 예시

SELECT acos(0.5);
1.0471975511965974

acosh

도입 버전: v20.12.0

역쌍곡 코사인 값을 반환합니다.

구문

acosh(x)

인수

  • x — 각도의 쌍곡코사인 값입니다. 값의 범위: 1 ≤ x < +∞. (U)Int* 또는 Float* 또는 Decimal*

반환 값

라디안 단위의 각도를 반환합니다. 값의 범위: 0 ≤ acosh(x) < +∞. Float64

예시

사용 예시

SELECT acosh(1)
0

asin

도입 버전: v1.1.0

주어진 인수의 아크사인을 계산합니다. 인수가 [-1, 1] 범위에 있으면 [-pi() / 2, pi() / 2] 범위의 값을 반환합니다.

구문

asin(x)

인수

반환 값

지정된 인수 x의 아크사인 값을 반환합니다. Float64

예시

역함수

SELECT asin(1.0) = pi() / 2, sin(asin(1)), asin(sin(1))
1	1	0.9999999999999999

float32

SELECT toTypeName(asin(1.0::Float32))
Float64

nan

SELECT asin(1.1), asin(-2), asin(inf), asin(nan)
nan	nan	nan	nan

asinh

도입 버전: v20.12.0

역쌍곡선 사인을 반환합니다.

구문

asinh(x)

인수

  • x — 각도의 쌍곡선 사인값입니다. 값 범위: -∞ < x < +∞. (U)Int* 또는 Float* 또는 Decimal*

반환 값

라디안 단위의 각도를 반환합니다. 값 범위: -∞ < asinh(x) < +∞. Float64

예시

기본 사용법

SELECT asinh(0)
0

atan

도입 버전: v1.1.0

인수의 아크탄젠트 값을 반환합니다.

구문

atan(x)

인수

반환 값

x의 아크탄젠트를 반환합니다. Float*

예시

사용 예시

SELECT atan(1);
0.7853981633974483

atan2

도입 버전: v20.12.0

(x, y) ≠ (0, 0)인 점을 향하는 반직선과 양의 x축이 유클리드 평면에서 이루는 각도를 라디안 단위로 나타낸 atan2 값을 반환합니다.

구문

atan2(y, x)

인수

반환 값

-π < θ ≤ π를 만족하는 각도 θ를 라디안 단위로 반환합니다. Float64

예시

사용 예시

SELECT atan2(1, 1)
0.7853981633974483

atanh

도입 버전: v20.12.0

역쌍곡탄젠트를 반환합니다.

구문

atanh(x)

인수

  • x — 각도의 쌍곡 탄젠트 값입니다. 값 범위는 -1 < x < 1입니다. (U)Int*, Float* 또는 Decimal*. (U)Int* 또는 Float* 또는 Decimal*

반환 값

라디안 단위의 각도를 반환합니다. 값 범위는 -∞ < atanh(x) < +∞입니다. Float64

예시

사용 예시

SELECT atanh(0)
0

cbrt

도입 버전: v1.1.0

인수의 세제곱근을 반환합니다.

구문

cbrt(x)

인수

반환 값

x의 세제곱근을 반환합니다. Float*

예시

사용 예시

SELECT cbrt(8);
2

cos

도입 버전: v1.1.0

인수의 코사인을 반환합니다.

구문

cos(x)

인수

반환 값

x의 코사인 값을 반환합니다. Float*

예시

사용 예시

SELECT cos(0);
1

cosh

도입 버전: v20.12.0

인수의 쌍곡 코사인 값을 반환합니다.

구문

cosh(x)

인수

  • x — 라디안 단위의 각도입니다. 값 범위는 다음 인터벌입니다. -∞ < x < +∞. (U)Int* 또는 Float* 또는 Decimal*

반환 값

다음 인터벌의 값을 반환합니다. 1 ≤ cosh(x) < +∞ Float64

예시

기본 사용법

SELECT cosh(0)
1

degrees

도입 버전: v22.2.0

라디안을 각도로 변환합니다.

구문

degrees(x)

인수

반환 값

x를 도 단위로 변환한 값을 반환합니다. Float64

예시

기본 사용법

SELECT degrees(3.141592653589793)
180

e

도입된 버전: v1.1.0

오일러 상수(e)를 반환합니다.

구문

e()

인수

  • None.

반환 값

오일러 상수인 Float64를 반환합니다.

예시

사용 예시

SELECT e();
2.718281828459045

erf

도입 버전: v1.1.0

x가 0 이상이면 erf(x/(σ√2))는 표준 편차가 σ인 정규 분포를 따르는 확률 변수가 기대값에서 x보다 크게 벗어난 값을 가질 확률입니다.

구문

erf(x)

인수

반환 값

오차 함수 값 Float*을 반환합니다.

예시

3시그마 규칙

SELECT erf(3 / sqrt(2))
┌─erf(divide(3, sqrt(2)))─┐
│      0.9973002039367398 │
└─────────────────────────┘

erfc

버전 v1.1.0에서 도입됨

x 값이 클 때도 정밀도 손실 없이 1-erf(x)에 가까운 값을 반환합니다.

구문

erfc(x)

인수

반환 값

상보 오차 함수 값 Float*을 반환합니다.

예시

사용 예시

SELECT erfc(0);
1

exp

도입 버전: v1.1.0

함수에 주어진 인수 x에 대해, ex제곱을 반환합니다.

구문

exp(x)

인수

반환 값

e^xFloat*로 반환합니다.

예시

기본 사용법

SELECT round(exp(-1), 4)
┌─round(exp(-1), 4)─┐
│            0.3679 │
└───────────────────┘

exp10

도입 버전: v1.1.0

주어진 인수를 지수로 하는 10의 거듭제곱을 반환합니다.

구문

exp10(x)

인수

반환 값

Float* 형식의 10^x를 반환합니다

예시

사용 예시

SELECT exp10(2);
100

exp2

도입 버전: v1.1.0

주어진 인수를 지수로 하는 2의 거듭제곱 값을 반환합니다.

구문

exp2(x)

인수

반환 값

2^x를 반환합니다. Float*

예시

사용 예시

SELECT exp2(3);
8

factorial

도입 버전: v22.11.0

정수 값의 팩토리얼을 계산합니다. 0의 팩토리얼은 1입니다. 또한 factorial() 함수는 음수 값에 대해서도 1을 반환합니다. 입력 인수로 허용되는 최대 양수 값은 20이며, 21 이상의 값은 예외를 발생시킵니다.

구문

factorial(n)

인수

  • n — 팩토리얼을 계산할 정수 값입니다. 최대값은 20입니다. (U)Int8/16/32/64

반환 값

입력값의 팩토리얼을 UInt64로 반환합니다. 입력값이 0이거나 음수이면 1을 반환합니다. UInt64

예시

사용 예시

SELECT factorial(10)
3628800

hypot

도입된 버전: v20.12.0

직각삼각형의 빗변 길이를 반환합니다. Hypot는 매우 크거나 매우 작은 수를 제곱할 때 발생할 수 있는 문제를 방지합니다.

구문

hypot(x, y)

인수

반환 값

직각삼각형의 빗변 길이를 반환합니다. Float64

예시

기본 사용법

SELECT hypot(1, 1)
1.4142135623730951

intExp10

도입 버전: v1.1.0

exp10과 유사하지만 UInt64 값을 반환합니다.

구문

intExp10(x)

인수

반환 값

10^x를 반환합니다. UInt64

예시

사용 예시

SELECT intExp10(2);
100

intExp2

도입 버전: v1.1.0

exp2와 비슷하지만 UInt64 값을 반환합니다.

구문

intExp2(x)

인수

반환 값

2^x를 반환합니다. UInt64

예시

사용 예시

SELECT intExp2(3);
8

isPrime

도입: v26.5.0

인수가 소수이면 1을 반환하고, 그렇지 않으면 0을 반환합니다.

작은 값에는 정확한 비트맵 lookup을 사용하고, 큰 값에는 결정적 Miller-Rabin 테스트를 사용합니다. 결과는 지원되는 모든 입력 타입에서 정확합니다.

비트 폭이 더 큰 부호 없는 정수 타입(UInt128, UInt256)에는 대신 isProbablePrime을 사용하십시오.

구문

isPrime(n)

인수

반환 값

n이 소수이면 1을, 그렇지 않으면 0을 반환합니다. UInt8

예시

소수

SELECT isPrime(17)
1

합성수

SELECT isPrime(18)
0

UInt64형 소수

SELECT isPrime(18446744073709551557)
1

UInt64의 최댓값

SELECT isPrime(18446744073709551615)
0

isProbablePrime

도입 버전: v26.5.0

인수가 아마도 소수이면 1을, 확실히 합성수이면 0을 반환합니다.

UInt8, UInt16, UInt32, UInt64에서는 결과가 정확하며 isPrime와 일치합니다. rounds 인수는 무시됩니다.

UInt128UInt256에서는 반환값 1이 확률적입니다. 선택 사항인 rounds 인수는 Miller-Rabin 반복을 몇 번 사용할지 제어합니다. 반복 횟수가 많을수록 거짓 양성 가능성은 줄어들고 실행 시간은 늘어납니다. 증인이 균등 무작위로 선택될 때 고정된 합성수에 대한 거짓 양성률은 4^(-rounds)로 제한됩니다. 기본값 25는 이 상한을 10^-15 미만으로 유지하고, 최대값 256은 이를 10^-154 미만으로 유지합니다.

이 함수는 결정적입니다. 증인은 n에서 시드가 파생되므로 동일한 (n, rounds) 쌍은 항상 같은 결과를 생성합니다. 4^(-rounds) 상한은 증인이 균등 무작위일 때 입력별 확률을 의미합니다. 하지만 여기의 결정적 시드 방식에서는 대신 입력 전체에서의 비율을 나타냅니다. 즉, 자신의 증인 시퀀스에 속는 합성수는 재현 가능하게 1을 반환합니다.

구문

isProbablePrime(n[, rounds])

인수

  • n — 소수 여부를 판별할 대상인 부호 없는 정수입니다. UInt8 또는 UInt16 또는 UInt32 또는 UInt64 또는 UInt128 또는 UInt256
  • rounds[1, 256] 범위의 선택적 양의 정수 상수입니다. UInt128/UInt256에 대해 Miller-Rabin 반복 횟수를 지정하며(더 작은 타입에서는 무시됨), 기본값은 25입니다. UInt8 또는 UInt16 또는 UInt32 또는 UInt64

반환 값

n이 소수일 가능성이 높으면 1을, 합성수임이 확실하면 0을 반환합니다. UInt8

예시

작은 소수

SELECT isProbablePrime(17)
1

작은 합성수

SELECT isProbablePrime(18)
0

UInt64에서 가장 큰 소수 (정확한 결과)

SELECT isProbablePrime(18446744073709551557)
1

메르센 소수 M_127 (UInt128)

SELECT isProbablePrime(toUInt128('170141183460469231731687303715884105727'))
1

Curve25519 기저체 소수 2^255 - 19 (UInt256)

SELECT isProbablePrime(toUInt256('57896044618658097711785492504343953926634992332820282019728792003956564819949'))
1

더 빠르지만 신뢰도가 낮은 검사: 5회 반복

SELECT isProbablePrime(toUInt256('57896044618658097711785492504343953926634992332820282019728792003956564819949'), 5)
1

lgamma

도입 버전: v1.1.0

감마 함수의 로그를 반환합니다.

구문

lgamma(x)

인수

반환 값

x에 대한 감마 함수의 로그값을 반환합니다. Float*

예시

사용 예시

SELECT lgamma(5);
3.1780538303479458

log

도입 버전: v1.1.0

인수의 자연로그를 반환합니다.

구문

log(x)

별칭: ln

인수

반환 값

x의 자연로그를 반환합니다. Float*

예시

사용 예시

SELECT log(10);
2.3025850938475476

log10

도입 버전: v1.1.0

인수의 밑이 10인 로그를 반환합니다.

구문

log10(x)

인수

반환 값

x의 상용 로그를 반환합니다. Float*

예시

사용 예시

SELECT log10(100);
2

log1p

도입 버전: v20.12.0

log(1+x)를 계산합니다. x의 값이 작을 때는 log(1+x)를 직접 계산하는 것보다 log1p(x)를 계산하는 편이 더 정확합니다.

구문

log1p(x)

인수

반환 값

인터벌 -∞ &lt; log1p(x) &lt; +∞ 범위의 값을 반환합니다. Float64

예시

사용 예시

SELECT log1p(0)
0

log2

도입 버전: v1.1.0

인수의 밑이 2인 로그를 반환합니다.

구문

log2(x)

인수

반환 값

x의 밑이 2인 로그를 반환합니다. Float*

예시

사용 예시

SELECT log2(8);
3

pi

도입 버전: v1.1.0

원주율 pi(π)를 반환합니다.

구문

pi()

인수

  • 없음.

반환 값

pi Float64를 반환합니다.

예시

사용 예시

SELECT pi();
3.141592653589793

pow

Introduced in: v1.1.0

x의 y제곱을 반환합니다.

구문

pow(x, y)

별칭: power

인수

반환 값

x^y를 Float64로 반환합니다.

예시

사용 예시

SELECT pow(2, 3);
8

proportionsZTest

도입 버전: v22.3.0

두 모집단 x와 y의 비율을 비교하는 통계적 검정인 two proportion Z-test의 검정 통계량을 반환합니다. 이 함수는 표준 오차의 pooled 및 unpooled 추정 방법을 모두 지원합니다. pooled 버전에서는 두 비율의 평균을 사용하며, 표준 오차를 추정할 때 하나의 비율만 사용합니다. unpooled 버전에서는 두 비율을 각각 별도로 사용합니다.

구문

proportionsZTest(successes_x, successes_y, trials_x, trials_y, conf_level, pool_type)

인수

  • successes_x — 모집단 x의 성공 횟수입니다. UInt64
  • successes_y — 모집단 y의 성공 횟수입니다. UInt64
  • trials_x — 모집단 x의 시행 횟수입니다. UInt64
  • trials_y — 모집단 y의 시행 횟수입니다. UInt64
  • conf_level — 검정의 신뢰 수준입니다. Float64
  • pool_type — 표준 오차 추정에 사용할 풀링 메서드입니다. 'unpooled' 또는 'pooled' 중 하나일 수 있습니다. String

반환 값

z_stat (Z 통계량), p_val (P 값), ci_low (신뢰 구간 하한), ci_high (신뢰 구간 상한)을 포함하는 튜플을 반환합니다. Tuple(Float64, Float64, Float64, Float64)

예시

사용 예시

SELECT proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled');
┌─proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled')───────────────────────────────┐
│ (-0.20656724435948853,0.8363478437079654,-0.09345975390115283,0.07563797172293502) │
└────────────────────────────────────────────────────────────────────────────────────┘

radians

v22.2.0에 도입됨

도를 라디안으로 변환합니다.

구문

radians(x)

인수

반환 값

라디안 단위의 값을 Float64로 반환합니다.

예시

사용 예시

SELECT radians(180)
3.141592653589793

sigmoid

도입 버전: v20.1.0

시그모이드 함수를 계산합니다: 1 / (1 + exp(-x)). 시그모이드 함수는 모든 실수를 (0, 1) 범위로 변환하며, 머신 러닝에서 일반적으로 사용됩니다.

구문

sigmoid(x)

인수

반환 값

입력 값의 sigmoid를 반환합니다. 값의 범위는 (0, 1)입니다. Float64

예시

기본 사용법

SELECT sigmoid(0)
0.5

sign

도입 버전: v21.2.0

실수의 부호를 반환합니다.

구문

sign(x)

인수

반환 값

x < 0이면 -1, x = 0이면 0, x > 0이면 1을 반환합니다. Int8

예시

0의 부호

SELECT sign(0)
0

양수일 때의 부호

SELECT sign(1)
1

음수 부호

SELECT sign(-1)
-1

sin

도입 버전: v1.1.0

인수의 사인값을 반환합니다.

구문

sin(x)

인수

반환 값

x의 사인값을 반환합니다.

예시

simple

SELECT sin(1.23)
0.9424888019316975

sinh

도입 버전: v20.12.0

쌍곡사인을 반환합니다.

구문

sinh(x)

인수

  • x — 라디안 단위의 각도입니다. 값의 범위는 다음 인터벌입니다: -∞ < x < +∞. (U)Int* 또는 Float* 또는 Decimal*

반환 값

반환 값의 범위는 다음 인터벌입니다: -∞ < sinh(x) < +∞ Float64

예시

사용 예시

SELECT sinh(0)
0

sqrt

도입 버전: v1.1.0

인수의 제곱근을 반환합니다.

구문

sqrt(x)

인수

반환 값

x의 제곱근을 반환합니다. Float*

예시

사용 예시

SELECT sqrt(16);
4

tan

도입된 버전: v1.1.0

인수의 탄젠트 값을 반환합니다.

구문

tan(x)

인수

반환 값

x의 탄젠트 값을 반환합니다. Float*

예시

사용 예시

SELECT tan(0);
0

tanh

도입 버전: v20.1.0

쌍곡 탄젠트 값을 반환합니다.

구문

tanh(x)

인수

  • x — 라디안 단위의 각도입니다. 값은 다음 인터벌에 속합니다: -∞ < x < +∞. (U)Int* 또는 Float* 또는 Decimal*

반환 값

다음 인터벌의 값을 반환합니다: -1 < tanh(x) < 1 Float*

예시

사용 예시

SELECT tanh(0)
0

tgamma

v1.1.0에서 도입됨

감마 함수를 반환합니다.

구문

tgamma(x)

인수

반환 값

감마 함수 값을 반환합니다. Float*

예시

사용 예시

SELECT tgamma(5);
24

widthBucket

도입 버전: v23.3.0

low부터 high까지의 범위를 동일한 너비의 count개 버킷으로 나눈 히스토그램에서 매개변수 operand가 속하는 버킷 번호를 반환합니다. operandlow보다 작으면 0을 반환하고, operandhigh보다 크거나 같으면 count+1을 반환합니다. 또한 다른 데이터베이스와의 호환성을 위해 WIDTH_BUCKET라는 대소문자를 구분하지 않는 별칭도 제공합니다.

구문

widthBucket(operand, low, high, count)

별칭: width_bucket

인수

  • operand — 버킷을 판별할 값입니다. (U)Int8/16/32/64
  • low — 히스토그램 범위의 하한값입니다. (U)Int8/16/32/64
  • high — 히스토그램 범위의 상한값입니다. (U)Int8/16/32/64
  • count — 동일한 너비를 갖는 버킷의 개수입니다. 0이 될 수 없습니다. UInt8/16/32/64

반환 값

버킷 번호를 정수로 반환합니다. operand &lt; low이면 0을 반환하고, operand &gt;= high이면 count+1을 반환합니다. UInt8/16/32/64

예시

사용 예시

SELECT widthBucket(10.15, -8.6, 23, 18)
11
Navigation