728x170
해당 글에서는 데이터베이스 PostgreSQL을 기반으로 수학함수(Math Function)에 대해 알아봅니다.
1) 수학 함수(Math Function)
💡 Math 함수
- 다양한 '수학 연산'을 빠르고 효과적으로 수행하는 데 도움이 되는 가장 일반적으로 사용되는 함수들을 의미합니다
2) MATH 함수의 구조
💡 Math 함수의 구조
- <function_name>은 함수의 이름입니다.
- <argument>는 함수에 전달되는 값입니다. (* 함수에 따라 인수가 하나 이상인 경우도 있습니다.)
<function_name>(<argument>)
3) MATH 함수 종류 -1 : 기본
1. Math 함수 요약
💡 기본적으로 사용되는 Math 함수에 대해 확인합니다
함수 이름 | 설명 | 예시 |
ABS() | 입력된 수의 ‘절대값’을 반환하는 함수입니다 | ABS(-10) → 10 |
CEIL() & CEILING() | 입력된 수보다 크거나 같은 최소의 정수(올림)를 반환하는 함수입니다 | CEIL(-12.8) → 12 |
ROUND() | 입력된 수를 ‘반올림’한 값을 반환하는 함수입니다 | ROUND(10.3) → 10 |
FLOOR() | 입력된 수보다 작거나 같은 최대의 정수(내림)를 반환하는 함수입니다 | FLOOR(10.6) → 10 |
TRUNC() | 입력된 수의 소수점 이하를 버린 값(버림)을 반환하는 함수입니다 | TRUNC(12.3) → 12 |
MOD() | 두 수의 나머지 값을 반환하는 함수입니다 | MOD(10,4) → 2 |
2. ABS() 함수
💡 ABS() 함수
- 입력값의 ‘절대값’을 반환하는 함수입니다.
-- 기본 구조
ABS(numeric_expression)
-- 구조-1 : 숫자
SELECT ABS(-10.25) # 10.25
-- 구조-2 : 숫자 연산 후 함수 수행
SELECT ABS(100 - 250); # 150
[ 더 알아보기 ]
💡 SELECT @ -15의 의미
- @ 함수를 숫자 앞에 사용하면 양수(+)는 음수(-)로 음수(-)는 양수(+)로 변환해 줍니다.
3. CEIL() & CEILING() 함수
💡 CEIL() & CEILING() 함수
- ceil과 ceiling 함수는 모두 입력값 이상의 가장 작은 정수(올림)를 반환하는 함수입니다.
-- 기본 구조
CEIL(numeric_expression)
-- 구조-1 : 숫자
SELECT CEILING(4.2); # 5
4. ROUND() 함수
💡 ROUND() 함수
- 숫자 값을 지정된 소수 자리수로 ‘반올림’을 반환하는 함수입니다.
💡 기본 구조의 인자
- arg1(source): 반올림할 숫자
- arg2(n): 반올림 후 소수자리를 결정하는 정수
-- 기본 구조-1
ROUND (source [ , n ] )
-- 구조-1: 인자가 1개인 형태
SELECT ROUND(10.4); # 10
-- 구조-2: 인자가 1개인 형태
SELECT ROUND(10.5); # 11
-- 구조-3: 인자가 2개인 형태
SELECT ROUND(10.812, 2); # 10.81
-- 구조-4: 인자가 2개인 형태
SELECT ROUND(10.817, 2); # 10.82
5. FLOOR() 함수
💡 FLOOR() 함수
- 입력값 이하의 가장 큰 정수(내림)를 반환하는 함수입니다.
-- 기본 구조-1
FLOOR(numeric_expression)
-- 구조-1: 기본형태
SELECT FLOOR(150.75); # 150
6. TRUNC() 함수
💡 TRUNC() 함수
- 숫자 값을 지정된 소수 자리수에서 잘라서(버림) 반환하는 함수입니다.
💡 기본 구조의 인자
- arg1(number): 버림 할 숫자입니다.
- arg2(precision): 양의 정인 경우 오른쪽 숫자를 버림, 음의 정수인 경우 소수점 왼쪽의 숫자를 대체합니다.
-- 기본 구조-1
TRUNC(number [, precision])
-- 구조 -1: 인자가 1개인 형태
SELECT TRUNC(10.6); # 10
-- 구조 -2: 인자가 2개인 형태 : 양수
SELECT TRUNC(1.234, 2); # 1.23
-- 구조 -3: 인자가 2개인 형태 : 음수
SELECT TRUNC(150.45, -2) # 100
7. MOD() 함수
💡 MOD() 함수
- 두 숫자 간의 나눗셈 연산의 나머지를 반환하는 함수입니다.
💡 기본 구조의 인자
- arg1(x) : 피제수(dividend)입니다.
- arg2(y): 제수(divisor)입니다. 피제수(dividend)는 나누려는 대상입니다.
- 제수(divisor)는 나누는 수입니다. 나누려는 수를 나누는 수로 나눈 후, 그 나머지를 MOD 함수로 계산할 수 있습니다.
-- 기본 구조 -1
MOD(x,y)
-- 구조 -1
SELECT MOD(15, -4); # 3
-- 구조 -2
SELECT MOD(-15, 4); # 3
-- 구조 -3
SELECT MOD(-15, -4); # -3
4) MATH 함수 종류 -1 : 더 알아보기
1. 함수 요약
함수 이름 | 설명 | 예시 |
DIV() | 두 수를 나눈 몫을 반환하는 함수입니다 | DIV(10,3) → 3 |
SQRT() | 입력된 수의 제곱근 값을 반환하는 함수입니다 | SQRT(64) → 8 |
CBRT() | 입력된 수의 세제곱근을 반환하는 함수입니다 | CBRT(27) → 3 |
POWER() | 입력된 수의 제곱 값을 반환하는 함수입니다 | POWER(2,3) → 8 |
DEGREES() | 입력된 라디안 값을 도 단위로 변환하는 함수입니다 | DEGREES(0.785398) → 45 |
EXP() | 입력된 수의 자연상수 e의 거듭제곱 값을 반환하는 함수입니다 | EXP(1) → 2.718282 |
LN() | 입력된 수의 자연로그 값을 반환하는 함수입니다 | LN(2.718282) → 1 |
LOG() | 입력된 수의 로그 값을 반환하는 함수입니다 | LOG(10) → 1 |
PI() | 파이(π) 값을 반환하는 함수입니다 | PI() → 3.14159265358979 |
RADIANS() | 입력된 도 값을 라디안 단위로 변환하는 함수입니다 | RADIANS(180) → 3.14159265358979 |
SCALE() | 입력된 숫자의 소수점 이하 자리수를 지정한 자릿수로 반환하는 함수입니다 | SCALE(1234.5678,2) → 1234.57 |
SIGN() | 입력된 수의 부호를 반환하는 함수입니다 | SIGN(-10) → -1 |
WIDTH_BUCKET() | 입력된 값이 범위 내에서 몇 번째인지 반환하는 함수입니다 | WIDTH_BUCKET(25, 0, 100, 5) → 6 |
RANDOM() | 0과 1 사이의 난수를 반환하는 함수입니다 | RANDOM() → 0.123456 |
2. DIV() 함수
💡 DIV() 함수
- 나눗셈을 하고 소수점 이하를 버린 몫을 반환하는 함수입니다.
💡 기본 구조의 인자
- arg1(dividend) : 나누어지는 값을 의미합니다.
- arg2(divisor) : 나누는 값을 의미합니다.
-- 기본 구조 -1
DIV(dividend, divisor)
-- 구조 -1
SELECT DIV(10, 3) # 3
-- 구조 -2
SELECT DIV(100, 7) # 14
3. SQRT() 함수
💡 SQRT() 함수
- 입력한 숫자의 제곱근을 반환하는 함수입니다.
-- 기본 구조 -1
SQRT(number)
-- 구조 -1
SELECT SQRT(16) # 4
4. CBRT() 함수
💡 CBRT() 함수
- 함수는 주어진 숫자의 세제곱근을 반환하는 함수입니다.
-- 기본 구조
CBRT(number)
-- 구조 -1
SELECT CBRT(27) # 3
5. POWER() 함수
💡 POWER() 함수
- 주어진 거듭제곱에 수를 제곱하는 데 사용되며 해당 값을 반환하는 함수입니다.
-- 기본 구조
POWER(number, power)
-- 구조 -1
SELECT POWER(2, 3) # 8
오늘도 감사합니다. 😀
그리드형
'DB > API Document' 카테고리의 다른 글
[DB/Postgres] PostgreSQL 데이터 타입의 종류 이해하기 (1) | 2023.12.21 |
---|---|
[DB/postgres] 윈도우 함수(Window Function) 이해 및 활용방법 (0) | 2023.09.28 |
[DB/Postgres] 문자열 함수(String Function) 이해 및 활용방법 (0) | 2023.09.20 |
[DB/Postgres] 날짜 함수(Date Function) 이해 및 활용방법 (4) | 2023.09.16 |
[DB/Postgres] 집계 함수(Aggregate Function) 이해 및 활용방법 (0) | 2023.09.10 |