티스토리 뷰
숫자함수
- ABS(n) : 절대값
- CEIL(n) : 소수점 이하 올림
- FLOOR(n) : 소수점 이하 내림
- ROUND(n) : 소수점 이하 반올림, ROUND(n, 자릿수) : 자릿수를 기준으로 반올림
- TRUNCATE(n, 자릿수) : 자릿수를 기준으로 버림
- POW(x, y) or POWER(x, y) : x^y, x의 y승
- MOD(분자, 분모) : 분자를 분모로 나눈 나머지
- GREATEST(n1, n2, n3, ...) : 주어진 수 중에서 가장 큰값을 반환
- LEAST(n1, n2, n3, ...) : 주어진 수 중에서 가장 작은 값을 반환
숫자함수를 사용하면 숫자값이나 숫자 컬럼에 대해 필요한 작업을 할 수 있다.
쿼리문
-- 절대값
select abs(100), abs(-100);
-- 100, 100
-- 소수점 이하 올림
select ceil(10.1), ceil(10.3), ceil(10.8);
-- 11, 11, 11
-- 소수점 이하 내림
select floor(10.1), floor(10.3), floor(10.9);
-- 10, 10, 10
-- 소수점 이하 반올림
select round(10.19), round(10.3), round(10.9);
-- 10, 10, 11
-- 자릿수 기준으로 소수점 반올림
select round(10.1, 0), round(10.1239, 3), round(10.123456, 5);
-- 10, 10.124, 10.12346
-- 자릿수를 기준으로 미만 버림
select truncate(10.1234, 1), truncate(10.123, 2), truncate(10.12345, 3);
-- 10.1, 10.12, 10.123
-- x의 y승
select pow(10, 3), pow(2, 6);
-- 1000, 64
-- N % M
select mod(19, 4), mod(100, 7);
-- 3, 2
-- 주어진 수 중 최대값
select greatest(1, 2, 3, 100, 101, 102, 999);
-- 999
-- 주어진 수 중 최소값
select least(1, 2, 3, 4, 99, 199, -1, -99, -192, 1);
-- -192
-- 사원들의 사원번호와 급여를 가져온다. 급여는 10% 인상된 급여를 가져온다. 이때 소수점 이하는 올림, 버림, 반올림한 값을 가져온다.
select emp_no, ceil(salary * 1.1), floor(salary * 1.1, 0), round(salary * 1.1)
from salaries;
-- 급여액의 10% 인상금액과 기존 급여액의 차이가 10000이상 차이나는 사원들의 사원번호와 인상 금액을 가져온다. 이때 0원이하 절삭
select emp_no, floor(salary * 1.1) - salary, salary
from salaries
where floor(salary * 1.1) - salary >= 10000
order by salary asc;
쿼리 실행 결과
반응형
'CS > MySql 정리' 카테고리의 다른 글
mysql 학습정리 : select + 날짜 및 시간 함수 (0) | 2021.09.22 |
---|---|
mysql 학습정리 : seletc + 문자열 조작 함수 (0) | 2021.09.16 |
mysql 학습정리 : select + 정렬 (Order by) (0) | 2021.09.14 |
mysql 학습정리 : select + where + like (문자열 비교 조건식) (1) | 2021.09.13 |
mysql 학습정리 : select + where + 논리연산자 (0) | 2021.09.12 |
Comments
반응형
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday