소수점 반올림, 올림, 내림, 소수점 자리수 조정 등의 기능을 수행하는 함수들을 정리해 보겠습니다. 🚀
ROUND())SELECT ROUND(123.456, 2); -- 결과: 123.46
SELECT ROUND(123.456, 0); -- 결과: 123
SELECT ROUND(123.456, -1); -- 결과: 120
📌 설명
ROUND(number, decimals) decimals는 소수점 이하 유지할 자리 수 0 (정수로 반올림) -1을 넣으면 정수 자리에서 반올림 (예: 123 → 120)CEIL() 또는 CEILING())SELECT CEIL(123.456); -- 결과: 124
SELECT CEILING(4.1); -- 결과: 5
SELECT CEIL(-4.7); -- 결과: -4
📌 설명
CEIL()과 CEILING()은 동일 -4.7 → -4)FLOOR())SELECT FLOOR(123.456); -- 결과: 123
SELECT FLOOR(4.9); -- 결과: 4
SELECT FLOOR(-4.2); -- 결과: -5
📌 설명
-4.2 → -5)TRUNCATE())SELECT TRUNCATE(123.456, 2); -- 결과: 123.45
SELECT TRUNCATE(123.456, 0); -- 결과: 123
SELECT TRUNCATE(123.456, -1); -- 결과: 120
📌 설명
TRUNCATE(number, decimals) ROUND()와 달리 반올림 없이 숫자를 자름 decimals가 -1이면 정수 자리에서도 절삭됨 MOD() 또는 %)SELECT MOD(10, 3); -- 결과: 1 (10을 3으로 나눈 나머지)
SELECT 10 % 3; -- 결과: 1 (동일한 연산)
📌 설명
MOD(a, b) 또는 a % b는 나머지를 반환 SELECT MOD(10.5, 3); -- 결과: 1.5
RAND())SELECT RAND(); -- 예: 0.739832 (0~1 사이의 난수)
SELECT RAND() * 10; -- 예: 7.39832 (0~10 사이 난수)
SELECT FLOOR(RAND() * 100); -- 예: 73 (0~99 사이 정수)
📌 설명
RAND()는 0 이상 1 미만의 난수를 생성 RAND() * N 사용 FLOOR()로 내림 FORMAT())SELECT FORMAT(1234.56789, 2); -- 결과: '1,234.57'
SELECT FORMAT(1234.5, 3); -- 결과: '1,234.500'
📌 설명
FORMAT(number, decimals) | 함수 | 설명 | 예제 | 결과 |
|---|---|---|---|
ROUND(x, d) | 반올림 | ROUND(3.14159, 2) | 3.14 |
CEIL(x) | 올림 | CEIL(4.1) | 5 |
FLOOR(x) | 내림 | FLOOR(4.9) | 4 |
TRUNCATE(x, d) | 절삭 (버림) | TRUNCATE(3.14159, 2) | 3.14 |
MOD(a, b) 또는 a % b | 나머지 연산 | MOD(10, 3) | 1 |
RAND() | 0~1 사이 난수 | RAND() | 0.739832 |
FORMAT(x, d) | 천 단위 콤마 포함한 숫자 형식 반환 | FORMAT(1234.567, 2) | '1,234.57' |
💡 어떤 경우에 어떤 함수를 사용해야 할까?
ROUND() CEIL() FLOOR() TRUNCATE() RAND() FORMAT() 🚀 소수점 연산을 다룰 때 위 함수들을 적절히 사용하면 더욱 효율적인 SQL을 작성할 수 있습니다!