1 분 소요

MySQL은 다양한 수학 함수를 제공하여 숫자 데이터의 계산, 변환, 분석을 효율적으로 도와줍니다. 이 글에서는 올림/내림, 지수/로그, 삼각함수, 무작위 수 생성 등 핵심 수학 함수들을 예제와 함께 설명합니다.


🔢 1. 올림과 내림

함수명 설명 예제 결과
FLOOR(X) X보다 작거나 같은 가장 큰 정수 반환 FLOOR(10.95)10
CEIL(X) X보다 크거나 같은 가장 작은 정수 반환 CEIL(10.95)11
ROUND(X,D) X를 반올림. D는 소수 자릿수 (기본=0) ROUND(10.49)10, ROUND(10.5)11
SELECT FLOOR(10.95), CEIL(10.95), ROUND(10.49), ROUND(10.5);

🧮 2. 지수와 로그

함수명 설명 예제 결과
SQRT(X) X의 양의 제곱근 반환 SQRT(4)2
POW(X, Y) X의 Y 거듭제곱 (POWER도 동일) POW(2, 3)8
EXP(X) e의 X 거듭제곱 EXP(3)20.085
LOG(X) X의 자연로그 (밑: e) LOG(3)1.099
SELECT SQRT(4), POW(2, 3), EXP(3), LOG(3);

📐 3. 삼각 함수

함수명 설명 예제 결과
SIN(X) X의 사인값 반환 SIN(PI()/2)1
COS(X) X의 코사인값 반환 COS(PI())-1
TAN(X) X의 탄젠트값 반환 TAN(PI()/4)0.99999999
PI() π 값 반환 PI()3.14159...
SELECT SIN(PI()/2), COS(PI()), TAN(PI()/4);

➕ 4. 기타 수학 함수

함수명 설명 예제 결과
ABS(X) X의 절댓값 반환 ABS(-3)3
RAND() 0 이상 1 미만의 무작위 실수 반환 RAND()0.7218...
ROUND(RAND()*100, 0) 0~100 사이 무작위 정수 생성 결과: 0~100 중 하나 (예: 43)
SELECT ABS(-3), ROUND(RAND()*100, 0);

📋 요약 테이블

함수 설명 예시
FLOOR(X) 내림 처리 FLOOR(10.95)10
CEIL(X) 올림 처리 CEIL(10.95)11
ROUND(X,D) 반올림 (소수 D자리까지) ROUND(10.5)11
SQRT(X) 제곱근 반환 SQRT(9)3
POW(X,Y) 거듭제곱 반환 POW(2, 4)16
EXP(X) e의 X승 반환 EXP(1)2.718...
LOG(X) 자연로그 반환 LOG(10)2.302...
SIN(X) 사인 반환 (단위: 라디안) SIN(PI()/2)1
COS(X) 코사인 반환 COS(PI())-1
TAN(X) 탄젠트 반환 TAN(PI()/4)1
PI() π 반환 PI()3.141592...
ABS(X) 절댓값 반환 ABS(-10)10
RAND() 무작위 실수 (0~1) RAND()0.62

질문 정리

Q1. 소수 셋째 자리에서 반올림하고 싶으면?

SELECT ROUND(123.4567, 2);  -- 결과: 123.46

Q2. RAND()로 고정된 난수 생성 가능?

  • 가능: RAND(시드값) 사용 시 항상 동일한 난수 반환
SELECT RAND(10), RAND(10);
-- 두 결과 모두 동일한 숫자

Q3. 로그 계산 시 밑이 10이면?

  • LOG10() 함수 사용 가능 (LOG(X)는 자연로그)
SELECT LOG10(100); -- 결과: 2

카테고리:

업데이트:

댓글남기기