DB

[DB] 예시와 함께 보는 SQL 숫자 함수 총 정리!

Well See Coding 2024. 6. 8. 09:00
반응형
SQL 숫자함수 - ctrl + F를 활용하여 원하는 함수를 찾아보세요!

종류

  • ABS
  • ROUND
  • TRUNC
  • SIGN
  • FLOOR
  • CEIL
  • MOD
  • POWER
  • SQRT

1. ABS(숫자)

ABS 함수는 파라미터로 들어온 숫자의 절댓값을 반환합니다. 

# 사용예시
SELECT ABS(-10.27) FROM DUAL;  -- 결과 : 10.27

2. ROUND(숫자, 자리수)

ROUND 함수는 숫자를 소수점 특정자리에서 반올림할 때 사용합니다. 만약 자릿수 파라미터에 음수가 들어오면 정수자리에서 반올림합니다. 

 

아래 쿼리를 보면  첫 번째 쿼리는 소수둘째 자리인 5에서 반올림을 했고 두 번째 쿼리는 -2이므로 정수 둘째 자리에서 반올림을 한 결과가 조회됩니다.

# 사용예시
SELECT ROUND(123.456, 2) FROM DUAL;   -- 결과 : 123.46
SELECT ROUND(123.456, -2) FROM DUAL;  -- 결과 : 100

3. TRUNC(숫자, 자리수)

TRUNC 함수는 숫자를 소수점 특정 자리에서 버릴 때 사용하는 함수입니다. 위에서 정리한 ROUND 함수와 비교해서 기억하고 있어야겠죠? 이것도 마찬가지로 자릿수에 음수가 들어오면 정수에서 버림을 합니다.

# 사용예시
SELECT TRUNC(123.456, 2) FROM DUAL;   -- 결과 : 123.45
SELECT TRUNC(123.456, -2) FROM DUAL;  -- 결과 : 100

4. FLOOR(숫자) & CEIL(숫자)

숫자함수에 버림과 올림이 빠지면 안 되겠죠! FLOOR 함수는 작거나 같은 최대 정수를 리턴하는 버림 함수이고 CEIL은 반대로 크거나 같은 최소 정수, 즉 올림을 할 때 사용하는 함수입니다. 예시를 보면 사용법은 간단합니다.

# 사용예시
SELECT FLOOR(9.5) FROM DUAL;  -- 결과 : 9
SELECT CEIL(9.5) FROM DUAL;   -- 결과 : 10

5. MOD(숫자 1, 숫자 2)

MOD 함수는 숫자 1을 숫자 2로 나누어 나머지를 반환해 주는 함수입니다. 나머지가 0으로 떨어지는지 아닌지에 따라 특정값의 배수인지도 확인이 가능합니다. 5를 2로 나누면 몫이 2고 나머지는 1이 나오기 때문에 다음과 같은 쿼리가 성립됩니다.

# 사용예시
SELECT MOD(5, 2) FROM DUAL; -- 결과 : 1

6. POWER(m, n) 

POWER 함수는 m의 n 거듭제곱 값을 반환해 주는 함수입니다.

# 사용예시
SELECT POWER(4,2) FROM DUAL;  -- 결과 : 16

7. SQRT(숫자) 

SQRT 함수는 특정 숫자의 루트값을 반환해주는 함수입니다.

# 사용예시
SELECT SQRT(49) FROM DUAL;  -- 결과 : 7

8. SIGN(숫자)

SIGN 함수는 숫자가 양수면 1, 음수면 -1, 0이면 0을 반환해 주는 함수입니다. 입출금 내을 확인할 때 해당 컬럼이 1인지 -1 인지에 따라 입금과 출금을 구분할 수도 있을 것 같습니다.

# 사용예시
SELECT SIGN(5) FROM DUAL;   -- 결과 : 1
SELECT SIGN(0) FROM DUAL;   -- 결과 : 0
SELECT SIGN(-5) FROM DUAL;  -- 결과 : -1

오늘은 지난번 문자함수에 이어 SQL에서 사용되는 숫자함수까지 정리해봤습니다. 내용은 생각보다 간단하지만 잘 기억해 두었다가 적재적소에 활용하는 것이 중요한 것 같습니다.

 

반응형