Database/Oracle

[SQL]DML(SELECT문)(3) - 숫자 관련 함수

Ma_Sand 2022. 3. 21. 00:19
반응형

숫자와 관련된 함수

  : 결과값은 숫자(NUMBER)로 반환된다.

 

 

 

 (1) ABS

   : ABS(절대값을 구할 숫자) - 절대값을 구한다.

SELECT ABS(-10)
FROM DUAL;  -- 절대값 10

SELECT ABS(-10.5)
FROM DUAL;  -- 절대값 10.5

 

 

 

 

 (2) MOD

   : MOD(숫자, 나눌값) - 두 수를 나눈 나머지값을 반환한다.

SELECT MOD(10, 3)
FROM DUAL;   -- 나머지 1

SELECT MOD(-10, 3)
FROM DUAL;  -- 나머지 -1

SELECT MOD(10.5, 3)
FROM DUAL;  -- 나머지 1.5

 

 

 

 (3) ROUND

   : ROUND(반올림할 수, 반올림할 위치) - 반올림을 처리한다.

  - 반올림할 위치: 소수점 기준으로 아래 n번째 수에서 반올림을 한다.

                         생략 가능하고, 생략 시 기본값은 0이다. → 소수점 첫 번째 자리에서 반올림

                         음수일 때는 소수점 기준으로 위 n번째 수에서 반올림을 한다.

SELECT ROUND(10.5417)
FROM DUAL;  -- 반올림값 11

SELECT ROUND(10.5417, 1)
FROM DUAL;  -- 반올림값 10.5

SELECT ROUND(10.5417, 2)
FROM DUAL;  -- 반올림값 10.54

SELECT ROUND(10.5417, -1)
FROM DUAL;  -- 반올림값 10

 

 

 

 (4) CEIL

   : CEIL(올림할 숫자) - 소수점 아래의 수를 올림한다.

SELECT CEIL(10.5417)
FROM DUAL;  -- 올림값 11

 

 

 

 (5) FLOOR

   : FLOOR(버림할 숫자) - 소수점 아래의 수를 버린다.

SELECT FLOOR(123.45)
FROM DUAL;  -- 버림값 123

SELECT FLOOR(-123.45)
FROM DUAL;  -- 버림값 -124

 

 

 

 (6) TRUNC

   : TRUNC(버림할 숫자, 위치) - 위치를 지정하여 소수점 아래의 수를 버린다.

  - 위치는 생략 가능하다. (생략 시 기본값은 0, 이때는 FLOOR 함수와 같다.)

  - DATE 타입에 대해선 시간을 제거하고 날짜만 남긴다.

SELECT TRUNC(10.5417, 1)
FROM DUAL;  -- 소수점 아래 1번째 밑으로 버린 값 10.5

SELECT TRUNC(10.5417, 2)
FROM DUAL;  -- 소수점 아래 2번째 밑으로 버린 값 10.54

SELECT TRUNC(13.5417, -1)
FROM DUAL;  -- 소수점 위 1번째 버린 값 10

SELECT TRUNC(CREATED_DATE)  --CREATED_DATE(DATE 타입) - 2024-08-03 12:00:00
FROM DUAL;  -- '2024-08-03'
반응형