⛏️/Mysql | Oracle

[SQL] 11. 숫자 함수

defyuil 2023. 8. 23. 17:41

숫자함수

  • 숫자 데이터를 메인으로 연산하는 함수

 

숫자 데이터의 자리값

  • 소수점 위치를 자리값 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|