수학 함수와 연산자
수학 함수와 연산자 (Mathematical functions and operators)
이 문서는 Trino의 수학 함수와 연산자를 설명합니다. 기본적인 사칙연산부터 삼각 함수, 난수, 통계 함수까지 다양한 수학 기능을 배울 수 있어요.
출처: 문서
본문
수학 연산자 (Mathematical operators)
| 연산자 | 설명 |
|---|---|
+ |
덧셈 (Addition) |
- |
뺄셈 (Subtraction) |
* |
곱셈 (Multiplication) |
/ |
나눗셈 (정수 나눗셈은 절삭(truncation) 수행) |
% |
모듈로, 나머지 (Modulo) |
수학 함수 (Mathematical functions)
abs(x) → [입력과 동일]
x의 절댓값을 반환합니다.
cbrt(x) → double
x의 세제곱근을 반환합니다.
ceil(x) → [입력과 동일]
ceiling()의 별칭입니다.
ceiling(x) → [입력과 동일]
x를 가장 가까운 정수로 올림한 값을 반환합니다.
degrees(x) → double
라디안 단위의 각도 x를 도(degree)로 변환합니다.
e() → double
오일러 수(Euler's number) 상수를 반환합니다.
exp(x) → double
오일러 수를 x 제곱한 값을 반환합니다.
floor(x) → [입력과 동일]
x를 가장 가까운 정수로 내림한 값을 반환합니다.
ln(x) → double
x의 자연로그를 반환합니다.
log(b, x) → double
밑이 b인 x의 로그를 반환합니다.
log2(x) → double
밑이 2인 x의 로그를 반환합니다.
log10(x) → double
밑이 10인 x의 로그를 반환합니다.
mod(n, m) → [입력과 동일]
n을 m으로 나눈 나머지(모듈로)를 반환합니다.
pi() → double
원주율(파이) 상수를 반환합니다.
pow(x, p) → double
power()의 별칭입니다.
power(x, p) → double
x의 p 제곱을 반환합니다.
radians(x) → double
도 단위의 각도 x를 라디안으로 변환합니다.
round(x) → [입력과 동일]
x를 가장 가까운 정수로 반올림한 값을 반환합니다.
round(x, d) → [입력과 동일]
x를 소수점 d 자리로 반올림한 값을 반환합니다.
sign(x) → [입력과 동일]
x의 시그넘 함수 값을 반환합니다:
- 인수가 0이면 0,
- 인수가 0보다 크면 1,
- 인수가 0보다 작으면 -1.
부동 소수점 인수의 경우 함수는 추가로 다음을 반환합니다:
- 인수가 -0이면 -0,
- 인수가 NaN이면 NaN.
sqrt(x) → double
x의 제곱근을 반환합니다.
truncate(x) → [입력과 동일]
소수점 뒤의 자릿수를 버려 x를 정수로 절삭한 값을 반환합니다.
truncate(x, d) → [입력과 동일]
x를 소수점 d 자리로 절삭한 값을 반환합니다. d는 음수일 수 있는데, 이 경우 소수점 왼쪽 d 자릿수가 0이 됩니다.
width_bucket(x, bound1, bound2, n) → bigint
지정된 bound1과 bound2 경계와 n개의 버킷을 가진 등폭(equi-width) 히스토그램에서 x의 버킷 번호를 반환합니다.
width_bucket(x, bins) → bigint
배열 bins가 지정한 구간에 따른 x의 버킷 번호를 반환합니다. bins 파라미터는 double 배열이어야 하며 오름차순으로 정렬된 것으로 가정합니다.
난수 함수 (Random functions)
rand() → double
random()의 별칭입니다.
random() → double
0.0 이상 1.0 미만 범위의 의사 난수를 반환합니다.
random(n) → [입력과 동일]
0 이상 n 미만 사이의 의사 난수를 반환합니다.
random(m, n) → [입력과 동일]
m 이상 n 미만 사이의 의사 난수를 반환합니다.
삼각 함수 (Trigonometric functions)
모든 삼각 함수 인수는 라디안으로 표현됩니다. 단위 변환 함수 degrees()와 radians()를 참고하세요.
- acos(x) → double:
x의 아크코사인을 반환합니다. - asin(x) → double:
x의 아크사인을 반환합니다. - atan(x) → double:
x의 아크탄젠트를 반환합니다. - atan2(y, x) → double:
y / x의 아크탄젠트를 반환합니다. - cos(x) → double:
x의 코사인을 반환합니다. - cosh(x) → double:
x의 쌍곡코사인을 반환합니다. - sin(x) → double:
x의 사인을 반환합니다. - sinh(x) → double:
x의 쌍곡사인을 반환합니다. - tan(x) → double:
x의 탄젠트를 반환합니다. - tanh(x) → double:
x의 쌍곡탄젠트를 반환합니다.
기하 함수 (Geometric functions)
cosine_distance(array(double), array(double)) → double
두 밀집 벡터 사이의 코사인 거리를 계산합니다:
SELECT cosine_distance(ARRAY[1.0, 2.0], ARRAY[3.0, 4.0]);
-- 0.01613008990009257
cosine_distance(x, y) → double
두 희소 벡터 사이의 코사인 거리를 계산합니다:
SELECT cosine_distance(MAP(ARRAY['a'], ARRAY[1.0]), MAP(ARRAY['a'], ARRAY[2.0]));
-- 0.0
cosine_similarity(array(double), array(double)) → double
두 밀집 벡터의 코사인 유사도를 계산합니다:
SELECT cosine_similarity(ARRAY[1.0, 2.0], ARRAY[3.0, 4.0]);
-- 0.9838699100999074
cosine_similarity(x, y) → double
두 희소 벡터의 코사인 유사도를 계산합니다:
SELECT cosine_similarity(MAP(ARRAY['a'], ARRAY[1.0]), MAP(ARRAY['a'], ARRAY[2.0]));
-- 1.0
부동 소수점 함수 (Floating point functions)
- infinity() → double: 양의 무한대를 나타내는 상수를 반환합니다.
- is_finite(x) → boolean:
x가 유한한지 판단합니다. - is_infinite(x) → boolean:
x가 무한인지 판단합니다. - is_nan(x) → boolean:
x가 숫자가 아닌지(NaN) 판단합니다. - nan() → double: 숫자가 아님(not-a-number)을 나타내는 상수를 반환합니다.
진법 변환 함수 (Base conversion functions)
from_base(string, radix) → bigint
string을 밑이 radix인 숫자로 해석한 값을 반환합니다.
to_base(x, radix) → varchar
x의 밑이 radix인 표현을 반환합니다.
통계 함수 (Statistical functions)
t_pdf(x, df) → double
주어진 x와 자유도(df)에 대한 스튜던트 t-분포의 확률 밀도 함수를 계산합니다. x는 실수 값이어야 하고 자유도는 양의 정수여야 합니다.
wilson_interval_lower(successes, trials, z) → double
z-점수 z가 지정한 신뢰 수준에서 베르누이 시행 과정의 윌슨 점수 구간 하한을 반환합니다.
wilson_interval_upper(successes, trials, z) → double
z-점수 z가 지정한 신뢰 수준에서 베르누이 시행 과정의 윌슨 점수 구간 상한을 반환합니다.
누적 분포 함수 (Cumulative distribution functions)
- beta_cdf(a, b, v) → double: 주어진 a, b 파라미터로 베타 cdf를 계산합니다: P(N < v).
- inverse_beta_cdf(a, b, p) → double: 누적 확률(p)에 대해 주어진 a, b 파라미터로 베타 cdf의 역을 계산합니다: P(N < v).
- inverse_normal_cdf(mean, sd, p) → double: 누적 확률(p)에 대해 주어진 평균과 표준편차(sd)로 정규 cdf의 역을 계산합니다: P(N < v).
- normal_cdf(mean, sd, v) → double: 주어진 평균과 표준편차(sd)로 정규 cdf를 계산합니다: P(N < v).
- t_cdf(x, df) → double: 주어진
x와 자유도(df)로 스튜던트 t-분포의 누적 밀도 함수를 계산합니다.x는 실수 값이어야 하고 자유도는 양의 정수여야 합니다.
더 알아보기 (Learn more)
수학 함수와 함께 쓰이는 문자열 변환, 진법 변환 등 다양한 주제도 살펴보세요. 특히 format_number() 같은 변환 함수가 수치 결과를 다루는 데 유용할 수 있어요.