참고
2020-08-12-02)함수.sql
2020-08-13-01).sql
숫자함수
1) ABS(n)
- n: 숫자, 혹은 숫자로 바뀔 수 있는 문자 (ABCDEF 16진수)
- 매개변수로부터 전달 받은 값의 절대값을 반환
예시
잘못된 예
DUAL: 테이블이 없는데 FROM절을 써야하니까 가상테이블(DUMMY테이블)을 만들어줌
2) CEIL, FLOOR
CEIL(n)
- 주어진 매개변수와 같거나 큰 쪽에서 가장 작은 정수를 반환
FLOOR(n)
- 주어진 매개변수와 같거나 작은 쪽에서 가장 작은 정수를 반환
3) ROUND와 TRUNC
- 데이터 입력, 수정시에는 반올림하지말고 있는 그대로를 저장
- 연산은 java나 jsp에서 해주면됨
ROUND(n[,1])
- 주어진 수 n을
- i > 0 : 소숫점 i+1번째 자리에서 반올림하여 i번째 자리까지 반환
- i 생략 : 0으로 간주, 소수점 첫째자리에서 반올림
- i < 0 : 정수부분의 i번째 자리에서 반올림
TRUNC(n,1)
- 주어진 데이터 n에서 i가 양수인 경우 i+1번째 자리에서 절삭
- i가 음수인 경우 정수부분 i번째 자리에서 절삭
예시
1. 사원테이블의 급여가 연봉이고 매달급여가 13으로 나눈 값을 지급한다고 할때 부서번호 50번 부서의 직원들의 한달 급여액을 계산하시오
- Alias: 사원번호, 사원명, 연봉, 월급여액
- 단, 월급여액은 소수점 2자리에서 반올림하시오
ROUND 만 사용
- SELECT 절에서 필요없는 '열' 제거
- WHERE 절에서 필요없는 '행'을 조건에 맞춰 제거
TO_CHAR 와 함께 사용
- '9,999.0' 유효숫자 관련
- 0: 무효든 유효든 다 나오게 함
- 9: 무효의 0을 공백으로, ','도 3자리 수니까 공백으로
TRUNC
4) POWER와 SQRT
POWER(n1, n2)
- n1을 n2번 거듭제곱한 결과 반환 = n1^n2
SQRT(n)
- n의 평방근의 값을 반환
5) MOD(n2,n1) 와 REMAINDER(n2,n1)
- n2를 n1으로 나눈 나머지
- MOD와 REMAINDE는 내부처리 방식이 다름
MOD(n2,n1)
REMAINDER(n2,n1)
예시