[SQL] 11. 숫자 함수
숫자함수
- 숫자 데이터를 메인으로 연산하는 함수
숫자 데이터의 자리값
- 소수점 위치를 자리값 0으로 한다.
- 양수의 자리값은 소수점 아래
- 음수의 자리값은 소수점 위 → 정수
ROUND - 반올림 / TRUNCATE - 버림
- 숫자를 반올림할 자리까지 반올림 해 주는 함수
SELECT ROUND(45.928, 0), TRUNCATE(45.928, 0) ; |
CEIL / FLOOR
- CEIL : 입력 숫자의 소수점 아래의 값을 올림처리하여 결과를 구하는 근사값 연산
- FLOOR : 입력 숫자의 소수점 아래의 값을 버림처리하여 결과를 구하는 근사값 연산
SELECT CEIL(45.923), CEIL(52.1); |
CEIL(45.923)|CEIL(52.1)|
------------+----------+
46| 53|
SELECT floor(45.923), floor(52.1); |
floor(45.923)|floor(52.1)|
-------------+-----------+
45| 52|
MOD - 나머지
- 나눗셈 연산에서 나머지의 값을 연산해주는 함수
- MOD(숫자1, 숫자2)
- MOD 함수 이외에도 MOD, % 연산자로도 동일한 결과를 만들 수 있다.
- 나머지 값은 몫을 정수범위로 구했을 때 더 이상 나눌 수 없는 값을 말한다.
SELECT MOD(157, 10), 157 MOD 10, 157%10, FLOOR(157/10); |
MOD(157, 10)|157 MOD 10|157%10|FLOOR(157/10)|
------------+----------+------+-------------+
7| 7| 7| 15|
SELECT last_name, salary, MOD(salary, 5000) FROM employees WHERE job_id = 'SA_REP'; |
last_name |salary |MOD(salary, 5000)|
----------+--------+-----------------+
Tucker |11000.00| 1000.00|
Bernstein |10450.00| 450.00|
Hall | 9900.00| 4900.00|
Olsen | 8800.00| 3800.00|
…
SELECT employee_id, MOD(employee_id, 2) FROM employees ORDER BY 2, 1; |
ABS - 절대값
- 입력 받은 숫자의 절대값 연산 결과를 출력하는 함수
SELECT ABS(-5), ABS(5), ABS(-4.5); |
ABS(-5)|ABS(5)|ABS(-4.5)|
-------+------+---------+
5| 5| 4.5|
POWER|POW - 거듭제곱
- 거듭제곱 연산을 할 밑, 지수값을 입력받아 거듭제곱 결과를 출력하는 함수
- POWER, POW는 동일한 기능으로 연산결과를 만든다.
- POWER(밑, 지수)
SELECT POWER(2,3), POWER(8,3), POW(2, 10); |
POWER(2,3)|POWER(8,3)|POW(2, 10)|
----------+----------+----------+
8.0| 512.0| 1024.0|
SIGN - 음수, 양수, 0 구분
- 입력받은 숫자의 음수, 양수, 0을 구분하는 값을 출력한다.
- 양수 → 1
음수 → -1
0 → 0
SELECT SIGN(3) , SIGN(-3), SIGN(4.26), SIGN(-4.26), SIGN(0); |
SIGN(3)|SIGN(-3)|SIGN(4.26)|SIGN(-4.26)|SIGN(0)|
-------+--------+----------+-----------+-------+
1| -1| 1| -1| 0|