함수(FUNCTION) - 숫자함수 1

jsbak·2020년 8월 27일
0

DB

목록 보기
17/35

숫자함수

1)ABS

  • 매개변수로 전달 받은 값의 절대값을 반환
ABS(n)
ex) select abs(100), abs(-100), abs('-20')
      from dual;

2)CEIL 과 FLOOR

  • CEIL : 주어진 매개변수와 같거나 큰쪽에서 가장 작은 정수를 반환
CEIL(n)
ex) select ceil(10),ceil(10.67),ceil(10.001),ceil(-10.67)
      from dual;

  • FLOOR : 주어진 매개변수와 같거나 작은쪽에서 가장 큰 정수를 반환
 FLOOR(n)
 ex) select floor(10),floor(10.67),floor(10.001),floor(-10.67)
       from dual;

3)ROUND와 TRUNC

  • ROUND
   ROUND(n[,i])
  • 주어진 수 n을 i가 양수인 경우 소숫점이하 i+1번째 자리에서 반올림하여 i번째 자리까지 반환
  • i가 생략되면 0으로 간주
  • i가 음수이면 정수부분의 i번째 자리에서 반올림
    예시) 사원테이블의 급여가 연봉이고 매달급여가 13으로 나눈 값을 지급한다고 할때
    부서번호 50번 부서의 직원들의 한달 급여액을 계산하시오.
    Alias는 사원번호, 사원명, 연봉, 월급여액
    단, 월급여액은 소수 2자리에서 반올림 하시오.
 select employee_id as 사원번호,
        emp_name as 사원명,
        salary as 연봉,
        to_char(round(salary/13,1),'9,999.0') as 월급여액 -- to_char()에서 9는 유효한 자리만 표기, 0은 무효한자리도 표기
   from employees
  where department_id = 50
  order by employee_id ;

  • TRUNC
   TRUNC(n,i)
  • 주어진 데이터 n에서 i가 양수인 경우 i+1번째자리에서 절삭
  • i가 음수인 경우 정수부분 i번째 자리에서 절삭

예시

select trunc(12345.9999,-2),
           trunc(12345.9999,2),
           trunc(12345.9999,0), --i가 0이거나 없을 경우 소수점만 절삭.
           trunc(12345.9999)
      from dual;

profile
끄적끄적 쓰는곳

0개의 댓글