수학 함수

수학 함수 (Mathematical Functions)

PPL에서 지원하는 수학 함수에 대해 알아봐요. 산술, 삼각, 로그, 지수 등 다양한 수학 연산을 수행할 수 있어요.

출처: 문서

본문

PPL에서 지원하는 수학 함수는 다음과 같아요.

ABS

사용법: ABS(x)

x의 절댓값을 계산해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: INTEGER, LONG, FLOAT, 또는 DOUBLE (입력과 같은 타입)

예제

source=people
| eval `ABS(-1)` = ABS(-1)
| fields `ABS(-1)`

쿼리는 다음과 같은 결과를 반환해요:

ABS(-1)
1

ADD

사용법: ADD(x, y)

x와 y의 합을 계산해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.
  • y (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: x와 y 중 더 넓은 숫자 타입

동의어 (Synonyms): 덧셈 기호 (+)

예제

source=people
| eval `ADD(2, 1)` = ADD(2, 1)
| fields `ADD(2, 1)`

쿼리는 다음과 같은 결과를 반환해요:

ADD(2, 1)
3

SUBTRACT

사용법: SUBTRACT(x, y)

x에서 y를 뺀 값을 계산해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.
  • y (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: x와 y 중 더 넓은 숫자 타입

동의어 (Synonyms): 뺄셈 기호 (-)

예제

source=people
| eval `SUBTRACT(2, 1)` = SUBTRACT(2, 1)
| fields `SUBTRACT(2, 1)`

쿼리는 다음과 같은 결과를 반환해요:

SUBTRACT(2, 1)
1

MULTIPLY

사용법: MULTIPLY(x, y)

x와 y의 곱을 계산해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.
  • y (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: x와 y 중 더 넓은 숫자 타입

동의어 (Synonyms): 곱셈 기호 (*)

예제

source=people
| eval `MULTIPLY(2, 1)` = MULTIPLY(2, 1)
| fields `MULTIPLY(2, 1)`

쿼리는 다음과 같은 결과를 반환해요:

MULTIPLY(2, 1)
2

DIVIDE

사용법: DIVIDE(x, y)

x를 y로 나눈 값을 계산해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.
  • y (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: x와 y 중 더 넓은 숫자 타입

동의어 (Synonyms): 나눗셈 기호 (/)

예제

source=people
| eval `DIVIDE(2, 1)` = DIVIDE(2, 1)
| fields `DIVIDE(2, 1)`

쿼리는 다음과 같은 결과를 반환해요:

DIVIDE(2, 1)
2

SUM

사용법: SUM(x, y, ...)

제공된 모든 인수의 합을 계산해요. 이 함수는 가변 개수의 인수를 받아요.

이 함수는 eval 명령어 컨텍스트에서만 사용할 수 있으며, 쿼리 파싱 중 산술 덧셈으로 다시 쓰여져요.

매개변수:

  • x, y, ... (필수): 가변 개수의 INTEGER, LONG, FLOAT, 또는 DOUBLE 인수예요.

반환 타입: 모든 인수 중 가장 넓은 숫자 타입

예제

source=accounts
| eval `SUM(1, 2, 3)` = SUM(1, 2, 3)
| fields `SUM(1, 2, 3)`

쿼리는 다음과 같은 결과를 반환해요:

SUM(1, 2, 3)
6
6
6
6
source=accounts
| eval total = SUM(age, 10, 5)
| fields age, total

쿼리는 다음과 같은 결과를 반환해요:

age | total
32 | 47
36 | 51
28 | 43
33 | 48

AVG

사용법: AVG(x, y, ...)

제공된 모든 인수의 평균(산술 평균)을 계산해요. 이 함수는 가변 개수의 인수를 받아요.

이 함수는 eval 명령어 컨텍스트에서만 사용할 수 있으며, 쿼리 파싱 중 산술 표현식(합 또는 개수)으로 다시 쓰여져요.

매개변수:

  • x, y, ... (필수): 가변 개수의 INTEGER, LONG, FLOAT, 또는 DOUBLE 인수예요.

반환 타입: DOUBLE

예제

source=accounts
| eval `AVG(1, 2, 3)` = AVG(1, 2, 3)
| fields `AVG(1, 2, 3)`

쿼리는 다음과 같은 결과를 반환해요:

AVG(1, 2, 3)
2.0
2.0
2.0
2.0
source=accounts
| eval average = AVG(age, 30)
| fields age, average

쿼리는 다음과 같은 결과를 반환해요:

age | average
32 | 31.0
36 | 33.0
28 | 29.0
33 | 31.5

ACOS

사용법: ACOS(x)

x의 아크코사인을 계산해요. x가 [-1, 1] 범위를 벗어나면 NULL을 반환해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `ACOS(0)` = ACOS(0)
| fields `ACOS(0)`

쿼리는 다음과 같은 결과를 반환해요:

ACOS(0)
1.5707963267948966

ASIN

사용법: ASIN(x)

x의 아크사인을 계산해요. x가 [-1, 1] 범위를 벗어나면 NULL을 반환해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `ASIN(0)` = ASIN(0)
| fields `ASIN(0)`

쿼리는 다음과 같은 결과를 반환해요:

ASIN(0)
0.0

ATAN

사용법: ATAN(x), ATAN(y, x)

x의 아크탄젠트를 계산해요. ATAN(y, x)는 몫 y / x의 아크탄젠트를 계산하며, 두 인수의 부호를 사용해 결과의 사분면을 결정해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.
  • y (선택): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요 (두 인수 형식을 사용할 때).

반환 타입: DOUBLE

예제

source=people
| eval `ATAN(2)` = ATAN(2), `ATAN(2, 3)` = ATAN(2, 3)
| fields `ATAN(2)`, `ATAN(2, 3)`

쿼리는 다음과 같은 결과를 반환해요:

ATAN(2) | ATAN(2, 3)
1.1071487177940904 | 0.5880026035475675

ATAN2

사용법: ATAN2(y, x)

몫 y / x의 아크탄젠트를 계산하며, 두 인수의 부호를 사용해 결과의 사분면을 결정해요.

매개변수:

  • y (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.
  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `ATAN2(2, 3)` = ATAN2(2, 3)
| fields `ATAN2(2, 3)`

쿼리는 다음과 같은 결과를 반환해요:

ATAN2(2, 3)
0.5880026035475675

CEIL

사용법: CEIL(x)

값 x의 올림(ceiling) 값을 반환해요.

CEILING 함수의 별칭이에요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: 입력과 같은 타입

CEILING

사용법: CEILING(x)

값 x의 올림 값을 반환해요.

CEIL과 CEILING 함수는 동일한 구현과 기능을 가져요.

제한 사항: CEILING은 IEEE 754 double 타입이 저장될 때 소수를 표시하는 경우에만 예상대로 동작해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: 입력과 같은 타입

예제

source=people
| eval `CEILING(0)` = CEILING(0), `CEILING(50.00005)` = CEILING(50.00005), `CEILING(-50.00005)` = CEILING(-50.00005)
| fields `CEILING(0)`, `CEILING(50.00005)`, `CEILING(-50.00005)`

쿼리는 다음과 같은 결과를 반환해요:

CEILING(0) | CEILING(50.00005) | CEILING(-50.00005)
0 | 51.0 | -50.0
source=people
| eval `CEILING(3147483647.12345)` = CEILING(3147483647.12345), `CEILING(113147483647.12345)` = CEILING(113147483647.12345), `CEILING(3147483647.00001)` = CEILING(3147483647.00001)
| fields `CEILING(3147483647.12345)`, `CEILING(113147483647.12345)`, `CEILING(3147483647.00001)`

쿼리는 다음과 같은 결과를 반환해요:

CEILING(3147483647.12345) | CEILING(113147483647.12345) | CEILING(3147483647.00001)
3147483648.0 | 113147483648.0 | 3147483648.0

CONV

사용법: CONV(x, a, b)

숫자 x를 밑 a에서 밑 b로 변환해요.

매개변수:

  • x (필수): STRING 값이에요.
  • a (필수): INTEGER 값이에요.
  • b (필수): INTEGER 값이에요.

반환 타입: STRING

예제

source=people
| eval `CONV('12', 10, 16)` = CONV('12', 10, 16), `CONV('2C', 16, 10)` = CONV('2C', 16, 10), `CONV(12, 10, 2)` = CONV(12, 10, 2), `CONV(1111, 2, 10)` = CONV(1111, 2, 10)
| fields `CONV('12', 10, 16)`, `CONV('2C', 16, 10)`, `CONV(12, 10, 2)`, `CONV(1111, 2, 10)`

쿼리는 다음과 같은 결과를 반환해요:

CONV('12', 10, 16) | CONV('2C', 16, 10) | CONV(12, 10, 2) | CONV(1111, 2, 10)
c | 44 | 1100 | 15

COS

사용법: COS(x)

x의 코사인을 계산해요. 여기서 x는 라디안 단위예요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `COS(0)` = COS(0)
| fields `COS(0)`

쿼리는 다음과 같은 결과를 반환해요:

COS(0)
1.0

COSH

사용법: COSH(x)

x의 쌍곡 코사인을 계산해요. (((e^x) + (e^(-x))) / 2)로 정의돼요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `COSH(2)` = COSH(2)
| fields `COSH(2)`

쿼리는 다음과 같은 결과를 반환해요:

COSH(2)
3.7621956910836314

COT

사용법: COT(x)

x의 코탄젠트를 계산해요. x가 0이면 오류를 반환해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `COT(1)` = COT(1)
| fields `COT(1)`

쿼리는 다음과 같은 결과를 반환해요:

COT(1)
0.6420926159343306

CRC32

사용법: CRC32(expr)

순환 중복 검사(cyclic redundancy check) 값을 계산하고 32비트 부호 없는 값을 반환해요.

매개변수:

  • expr (필수): STRING 값이에요.

반환 타입: LONG

예제

source=people
| eval `CRC32('MySQL')` = CRC32('MySQL')
| fields `CRC32('MySQL')`

쿼리는 다음과 같은 결과를 반환해요:

CRC32('MySQL')
3259397556

DEGREES

사용법: DEGREES(x)

x를 라디안에서 도(degree)로 변환해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `DEGREES(1.57)` = DEGREES(1.57)
| fields `DEGREES(1.57)`

쿼리는 다음과 같은 결과를 반환해요:

DEGREES(1.57)
89.95437383553924

E

사용법: E()

오일러 수(e ≈ 2.718281828459045)를 반환해요.

매개변수: 없음

반환 타입: DOUBLE

예제

source=people
| eval `E()` = E()
| fields `E()`

쿼리는 다음과 같은 결과를 반환해요:

E()
2.718281828459045

EXP

사용법: EXP(x)

e의 x 제곱 값을 반환해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `EXP(2)` = EXP(2)
| fields `EXP(2)`

쿼리는 다음과 같은 결과를 반환해요:

EXP(2)
7.38905609893065

EXPM1

사용법: EXPM1(x)

e^x - 1 (e의 x 제곱에서 1을 뺀 값)을 반환해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `EXPM1(1)` = EXPM1(1)
| fields `EXPM1(1)`

쿼리는 다음과 같은 결과를 반환해요:

EXPM1(1)
1.718281828459045

FLOOR

사용법: FLOOR(x)

값 x의 바닥(floor) 값을 반환해요.

제한 사항: FLOOR는 IEEE 754 double 타입이 저장될 때 소수를 표시하는 경우에만 예상대로 동작해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: 입력과 같은 타입

예제

source=people
| eval `FLOOR(0)` = FLOOR(0), `FLOOR(50.00005)` = FLOOR(50.00005), `FLOOR(-50.00005)` = FLOOR(-50.00005)
| fields `FLOOR(0)`, `FLOOR(50.00005)`, `FLOOR(-50.00005)`

쿼리는 다음과 같은 결과를 반환해요:

FLOOR(0) | FLOOR(50.00005) | FLOOR(-50.00005)
0 | 50.0 | -51.0
source=people
| eval `FLOOR(3147483647.12345)` = FLOOR(3147483647.12345), `FLOOR(113147483647.12345)` = FLOOR(113147483647.12345), `FLOOR(3147483647.00001)` = FLOOR(3147483647.00001)
| fields `FLOOR(3147483647.12345)`, `FLOOR(113147483647.12345)`, `FLOOR(3147483647.00001)`

쿼리는 다음과 같은 결과를 반환해요:

FLOOR(3147483647.12345) | FLOOR(113147483647.12345) | FLOOR(3147483647.00001)
3147483647.0 | 113147483647.0 | 3147483647.0
source=people
| eval `FLOOR(282474973688888.022)` = FLOOR(282474973688888.022), `FLOOR(9223372036854775807.022)` = FLOOR(9223372036854775807.022), `FLOOR(9223372036854775807.0000001)` = FLOOR(9223372036854775807.0000001)
| fields `FLOOR(282474973688888.022)`, `FLOOR(9223372036854775807.022)`, `FLOOR(9223372036854775807.0000001)`

쿼리는 다음과 같은 결과를 반환해요:

FLOOR(282474973688888.022) | FLOOR(9223372036854775807.022) | FLOOR(9223372036854775807.0000001)
282474973688888.0 | 9.223372036854776e+18 | 9.223372036854776e+18

LN

사용법: LN(x)

x의 자연로그를 반환해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `LN(2)` = LN(2)
| fields `LN(2)`

쿼리는 다음과 같은 결과를 반환해요:

LN(2)
0.6931471805599453

LOG

사용법: LOG(x), LOG(B, x)

x의 자연로그(밑 e 로그)를 반환해요. LOG(B, x)는 log(x)/log(B)와 동일해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.
  • B (선택): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요 (두 인수 형식을 사용할 때).

반환 타입: DOUBLE

예제

source=people
| eval `LOG(2)` = LOG(2), `LOG(2, 8)` = LOG(2, 8)
| fields `LOG(2)`, `LOG(2, 8)`

쿼리는 다음과 같은 결과를 반환해요:

LOG(2) | LOG(2, 8)
0.6931471805599453 | 3.0

LOG2

사용법: LOG2(x)

x의 밑 2 로그를 반환해요. log(x)/log(2)와 동일해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `LOG2(8)` = LOG2(8)
| fields `LOG2(8)`

쿼리는 다음과 같은 결과를 반환해요:

LOG2(8)
3.0

LOG10

사용법: LOG10(x)

x의 밑 10 로그를 반환해요. log(x)/log(10)와 동일해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `LOG10(100)` = LOG10(100)
| fields `LOG10(100)`

쿼리는 다음과 같은 결과를 반환해요:

LOG10(100)
2.0

MOD

사용법: MOD(n, m)

숫자 n을 m으로 나눈 나머지를 계산해요.

매개변수:

  • n (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.
  • m (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: m이 0이 아닌 값이면 n과 m 중 더 넓은 타입. m이 0이면 NULL을 반환해요.

예제

source=people
| eval `MOD(3, 2)` = MOD(3, 2), `MOD(3.1, 2)` = MOD(3.1, 2)
| fields `MOD(3, 2)`, `MOD(3.1, 2)`

쿼리는 다음과 같은 결과를 반환해요:

MOD(3, 2) | MOD(3.1, 2)
1 | 1.1

MODULUS

사용법: MODULUS(n, m)

숫자 n을 m으로 나눈 나머지를 계산해요.

매개변수:

  • n (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.
  • m (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: m이 0이 아닌 값이면 n과 m 중 더 넓은 타입. m이 0이면 NULL을 반환해요.

예제

source=people
| eval `MODULUS(3, 2)` = MODULUS(3, 2), `MODULUS(3.1, 2)` = MODULUS(3.1, 2)
| fields `MODULUS(3, 2)`, `MODULUS(3.1, 2)`

쿼리는 다음과 같은 결과를 반환해요:

MODULUS(3, 2) | MODULUS(3.1, 2)
1 | 1.1

PI

사용법: PI()

수학 상수 π (pi ≈ 3.141592653589793)를 반환해요.

매개변수: 없음

반환 타입: DOUBLE

예제

source=people
| eval `PI()` = PI()
| fields `PI()`

쿼리는 다음과 같은 결과를 반환해요:

PI()
3.141592653589793

POW

사용법: POW(x, y)

x의 y 제곱 값을 계산해요. 유효하지 않은 입력은 NULL을 반환해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.
  • y (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

동의어 (Synonyms): POWER

예제

source=people
| eval `POW(3, 2)` = POW(3, 2), `POW(-3, 2)` = POW(-3, 2), `POW(3, -2)` = POW(3, -2)
| fields `POW(3, 2)`, `POW(-3, 2)`, `POW(3, -2)`

쿼리는 다음과 같은 결과를 반환해요:

POW(3, 2) | POW(-3, 2) | POW(3, -2)
9.0 | 9.0 | 0.1111111111111111

POWER

사용법: POWER(x, y)

x의 y 제곱 값을 계산해요. 유효하지 않은 입력은 NULL을 반환해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.
  • y (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

동의어 (Synonyms): POW

예제

source=people
| eval `POWER(3, 2)` = POWER(3, 2), `POWER(-3, 2)` = POWER(-3, 2), `POWER(3, -2)` = POWER(3, -2)
| fields `POWER(3, 2)`, `POWER(-3, 2)`, `POWER(3, -2)`

쿼리는 다음과 같은 결과를 반환해요:

POWER(3, 2) | POWER(-3, 2) | POWER(3, -2)
9.0 | 9.0 | 0.1111111111111111

RADIANS

사용법: RADIANS(x)

x를 도에서 라디안으로 변환해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `RADIANS(90)` = RADIANS(90)
| fields `RADIANS(90)`

쿼리는 다음과 같은 결과를 반환해요:

RADIANS(90)
1.5707963267948966

RAND

사용법: RAND(), RAND(N)

[0, 1) 범위의 임의 부동소수점 값을 반환해요. 정수 N을 지정하면 실행 전에 시드(seed)가 초기화돼요. 그 결과 같은 N 값으로 RAND(N)을 호출하면 항상 같은 결과를 반환해, 반복 가능한 컬럼 값 시퀀스를 만들어요.

매개변수:

  • N (선택): INTEGER 값이에요.

반환 타입: FLOAT

예제

source=people
| eval `RAND(3)` = RAND(3)
| fields `RAND(3)`

쿼리는 다음과 같은 결과를 반환해요:

RAND(3)
0.34346429521113886

ROUND

사용법: ROUND(x, d)

인수 x를 소수 d 자리로 반올림해요. d의 기본값은 0이에요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.
  • d (선택): INTEGER 값이에요.

반환 타입:

  • (INTEGER/LONG [,INTEGER]) -> LONG.
  • (FLOAT/DOUBLE [,INTEGER]) -> LONG.

예제

source=people
| eval `ROUND(12.34)` = ROUND(12.34), `ROUND(12.34, 1)` = ROUND(12.34, 1), `ROUND(12.34, -1)` = ROUND(12.34, -1), `ROUND(12, 1)` = ROUND(12, 1)
| fields `ROUND(12.34)`, `ROUND(12.34, 1)`, `ROUND(12.34, -1)`, `ROUND(12, 1)`

쿼리는 다음과 같은 결과를 반환해요:

ROUND(12.34) | ROUND(12.34, 1) | ROUND(12.34, -1) | ROUND(12, 1)
12.0 | 12.3 | 10.0 | 12

SIGN

사용법: SIGN(x)

숫자가 음수, 0, 양수인지에 따라 인수의 부호를 -1, 0, 또는 1로 반환해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: 입력과 같은 타입

예제

source=people
| eval `SIGN(1)` = SIGN(1), `SIGN(0)` = SIGN(0), `SIGN(-1.1)` = SIGN(-1.1)
| fields `SIGN(1)`, `SIGN(0)`, `SIGN(-1.1)`

쿼리는 다음과 같은 결과를 반환해요:

SIGN(1) | SIGN(0) | SIGN(-1.1)
1 | 0 | -1.0

SIGNUM

사용법: SIGNUM(x)

숫자가 음수, 0, 양수인지에 따라 인수의 부호를 -1, 0, 또는 1로 반환해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: INTEGER

동의어 (Synonyms): SIGN

예제

source=people
| eval `SIGNUM(1)` = SIGNUM(1), `SIGNUM(0)` = SIGNUM(0), `SIGNUM(-1.1)` = SIGNUM(-1.1)
| fields `SIGNUM(1)`, `SIGNUM(0)`, `SIGNUM(-1.1)`

쿼리는 다음과 같은 결과를 반환해요:

SIGNUM(1) | SIGNUM(0) | SIGNUM(-1.1)
1 | 0 | -1.0

SIN

사용법: SIN(x)

x의 사인을 계산해요. 여기서 x는 라디안 단위예요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `SIN(0)` = SIN(0)
| fields `SIN(0)`

쿼리는 다음과 같은 결과를 반환해요:

SIN(0)
0.0

SINH

사용법: SINH(x)

x의 쌍곡 사인을 계산해요. (((e^x) - (e^(-x))) / 2)로 정의돼요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `SINH(2)` = SINH(2)
| fields `SINH(2)`

쿼리는 다음과 같은 결과를 반환해요:

SINH(2)
3.626860407847019

SQRT

사용법: SQRT(x)

음수가 아닌 숫자 x의 제곱근을 계산해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입:

  • (음수가 아닌) INTEGER/LONG/FLOAT/DOUBLE -> DOUBLE.
  • (음수) INTEGER/LONG/FLOAT/DOUBLE -> NULL.

예제

source=people
| eval `SQRT(4)` = SQRT(4), `SQRT(4.41)` = SQRT(4.41)
| fields `SQRT(4)`, `SQRT(4.41)`

쿼리는 다음과 같은 결과를 반환해요:

SQRT(4) | SQRT(4.41)
2.0 | 2.1

CBRT

사용법: CBRT(x)

숫자 x의 세제곱근을 계산해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=location
| eval `CBRT(8)` = CBRT(8), `CBRT(9.261)` = CBRT(9.261), `CBRT(-27)` = CBRT(-27)
| fields `CBRT(8)`, `CBRT(9.261)`, `CBRT(-27)`

쿼리는 다음과 같은 결과를 반환해요:

CBRT(8) | CBRT(9.261) | CBRT(-27)
2.0 | 2.1 | -3.0
2.0 | 2.1 | -3.0

RINT

사용법: RINT(x)

x를 가장 가까운 정수로 반올림한 값을 반환해요.

매개변수:

  • x (필수): INTEGER, LONG, FLOAT, 또는 DOUBLE 값이에요.

반환 타입: DOUBLE

예제

source=people
| eval `RINT(1.7)` = RINT(1.7)
| fields `RINT(1.7)`

쿼리는 다음과 같은 결과를 반환해요:

RINT(1.7)
2.0

더 알아보기 (Learn more)