본문으로 바로가기
본문으로 바로가기

수학 함수

acos

도입된 버전: v1.1.0

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

구문

acos(x)

인수

반환 값

x의 아크코사인 값입니다. Float*

예시

사용 예시

SELECT acos(0.5);
1.0471975511965979

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)

인수(Arguments)

반환 값(Returned value)

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

예시(Examples)

역함수(inverse)

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

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

역쌍곡 사인(inverse hyperbolic sine)을 반환합니다.

구문

asinh(x)

인수

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

반환 값

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

예시

기본 사용법

SELECT asinh(0)
0

atan

도입 버전: v1.1.0

인수의 아크탄젠트(arc tangent)를 반환합니다.

문법

atan(x)

인수

반환 값

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

예제

사용 예제

SELECT atan(1);
0.7853981633974483

atan2

도입 버전: v20.12.0

유클리드 평면에서 양의 x축과 점 (x, y) ≠ (0, 0)으로 향하는 반직선 사이의 각도를 라디안 단위로 나타낸 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 값을 도(degree) 단위로 변환하여 반환합니다. Float64

예제

기본 사용법

SELECT degrees(3.141592653589793)
180

e

도입 버전: v1.1.0

자연상수 e를 반환합니다.

구문

e()

인수

  • 없음.

반환 값

오일러 상수(Euler 상수)를 반환합니다. 반환 타입은 Float64입니다.

예시

사용 예시

SELECT e();
2.718281828459045

erf

도입 버전: v1.1.0

x가 0 이상일 때, erf(x/(σ√2))는 표준 편차가 σ인 정규 분포를 따르는 확률 변수가 기댓값으로부터의 거리가 x를 초과하는 값을 가질 확률입니다.

구문

erf(x)

인수

반환 값

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

예시

세 시그마 규칙

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

erfc

도입 버전: v1.1.0

입력 x가 큰 경우에도 정밀도 손실 없이 1-erf(x)에 가까운 값을 반환합니다.

Syntax

erfc(x)

인수

반환 값

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

예시

사용 예시

SELECT erfc(0);
1

exp

도입 버전: v1.1.0

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

구문

exp(x)

인수

반환 값

e^x 값을 반환합니다. Float*

예제

기본 사용

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

exp10

도입 버전: v1.1.0

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

구문

exp10(x)

인수

반환값

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

예제

사용 예제

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

예시

사용 예시

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을 반환합니다.

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

비트 폭이 더 큰 부호 없는 정수 타입(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을 초과하는 값은 BAD_ARGUMENTS로 거부되며, 이는 의미 있는 개선 없이 시간만 낭비하기 때문입니다.

이 함수는 결정론적입니다. 즉, 증인은 n으로부터 계산된 고정 시드에서 파생되므로 동일한 (n, rounds) 쌍은 항상 동일한 결과를 반환합니다. 따라서 우연히 이 특정 증인 시퀀스를 통과하는 합성수는 각 호출마다 독립적으로 검사를 통과하지 못하는 것이 아니라, 일관되게 1을 반환합니다. 그러므로 4^(-rounds) 상한은 고정된 입력에 대한 호출별 확률이 아니라, 입력 전반에 걸친 일반적인 정확도를 나타내는 지표로 이해해야 합니다.

구문

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)

별칭(Aliases): ln

인수(Arguments)

반환 값(Returned value)

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

예시(Examples)

사용 예시(Usage example)

SELECT log(10);
2.302585092994046

log10

도입된 버전: v1.1.0

인수의 상용 로그를 반환합니다.

구문

log10(x)

인수

반환 값

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

예시

사용 예시

SELECT log10(100);
2

log1p

도입된 버전: v20.12.0

log(1+x)를 계산합니다. x의 값이 작은 경우 log1p(x)는 log(1+x)보다 더 정확하게 계산됩니다.

구문

log1p(x)

인자

반환 값

구간 -∞ < log1p(x) < +∞에 속하는 값을 반환합니다. Float64

예시

사용 예시

SELECT log1p(0)
0

log2

도입 버전: v1.1.0

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

구문

log2(x)

인자

반환 값

x의 이진 로그를 반환합니다. Float*

예시

사용 예시

SELECT log2(8);
3

pi

도입된 버전: v1.1.0

파이(π)를 반환합니다.

구문

pi()

인수(Arguments)

  • 없음.

반환 값

pi를 반환합니다. Float64

예제(Examples)

사용 예제(Usage example)

SELECT pi();
3.141592653589793

pow

도입 버전: v1.1.0

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

구문

pow(x, y)

별칭: power

인수

반환 값

x^y 값을 반환합니다. Float64

예제

사용 예제

SELECT pow(2, 3);
8

proportionsZTest

도입 버전: v22.3.0

두 모집단 x와 y에서의 비율을 비교하는 통계 검정인 두 표본 비율 Z-검정의 검정 통계량을 반환합니다. 이 FUNCTION은 표준 오차 추정을 위해 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

도(degree)를 라디안(radian)으로 변환합니다.

구문

radians(x)

인수

반환 값

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

예시

사용 예시

SELECT radians(180)
3.141592653589793

sigmoid

도입 버전: v20.1.0

다음 sigmoid 함수 1 / (1 + exp(-x))를 계산합니다. sigmoid 함수는 임의의 실수를 (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

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

구문

sin(x)

인수

반환 값

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

예시

simple

SELECT sin(1.23)
0.9424888019316975

sinh

도입 버전: v20.12.0

쌍곡선 사인(hyperbolic sine)을 반환합니다.

구문

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)

인수(Arguments)

반환값(Returned value)

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

예제(Examples)

사용 예제(Usage example)

SELECT tan(0);
0

tanh

도입된 버전: v20.1.0

쌍곡선 탄젠트(hyperbolic tangent)를 반환합니다.

구문

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

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

문법

widthBucket(operand, low, high, count)

별칭: width_bucket

인수

반환 값

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

예시

사용 예시

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