참고
2020-08-12-02)함수.sql
2020-08-13-01).sql
숫자함수
1) ABS(n)
- n: 숫자, 혹은 숫자로 바뀔 수 있는 문자 (ABCDEF 16진수)
- 매개변수로부터 전달 받은 값의 절대값을 반환
예시
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2Fdb74113a-fd47-4374-8f8e-e6a24b992eaa%2Fimage.png)
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2Fa9c89a0f-bc28-45cc-91cf-9f288599c816%2Fimage.png)
잘못된 예
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F52356e5c-0879-4dcc-8ba7-3079ac9a8a01%2Fimage.png)
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F9a7f43d8-0ea9-4f3b-bec6-0be90621d84a%2Fimage.png)
DUAL: 테이블이 없는데 FROM절을 써야하니까 가상테이블(DUMMY테이블)을 만들어줌
2) CEIL, FLOOR
CEIL(n)
- 주어진 매개변수와 같거나 큰 쪽에서 가장 작은 정수를 반환
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2Fc2e409a2-fe8c-474b-a585-6a7da9e303c2%2Fimage.png)
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F032dea3b-a2a9-40b4-95de-c76f1b20ccf2%2Fimage.png)
FLOOR(n)
- 주어진 매개변수와 같거나 작은 쪽에서 가장 작은 정수를 반환
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2Ffe82397a-2e9a-4485-9142-7d3a4ae927bc%2Fimage.png)
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 만 사용
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F20e94988-9532-490b-88fc-2b80bd442d36%2Fimage.png)
- SELECT 절에서 필요없는 '열' 제거
- WHERE 절에서 필요없는 '행'을 조건에 맞춰 제거
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F7c76ca5a-04d4-43a2-b743-35fe71dde547%2Fimage.png)
TO_CHAR 와 함께 사용
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2Fc014144c-a418-4ec4-ac98-e4852b750e12%2Fimage.png)
- '9,999.0' 유효숫자 관련
- 0: 무효든 유효든 다 나오게 함
- 9: 무효의 0을 공백으로, ','도 3자리 수니까 공백으로
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F4a4a5b7b-3b48-4687-abed-a812c631e208%2Fimage.png)
TRUNC
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F10460bf8-640e-4cbd-b28b-a0d5e136b386%2Fimage.png)
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2Ff9422a47-2082-43f3-824d-28464bd34055%2Fimage.png)
4) POWER와 SQRT
POWER(n1, n2)
- n1을 n2번 거듭제곱한 결과 반환 = n1^n2
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F119f0d55-2924-4580-96cb-0b95b86975ff%2Fimage.png)
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F01e42062-2369-4279-9903-6e5bbe0b7a48%2Fimage.png)
SQRT(n)
- n의 평방근의 값을 반환
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F1245be30-472b-403d-9d34-9508490f9615%2Fimage.png)
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F56012ab9-e03b-4c21-ad1b-dbd3424486ff%2Fimage.png)
5) MOD(n2,n1) 와 REMAINDER(n2,n1)
- n2를 n1으로 나눈 나머지
- MOD와 REMAINDE는 내부처리 방식이 다름
MOD(n2,n1)
REMAINDER(n2,n1)
예시
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F73e4b726-67fd-49fa-bb37-2d8d9eab4c78%2Fimage.png)
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F8125b4f8-341f-4645-a068-c6759b6098ad%2Fimage.png)
![](https://velog.velcdn.com/images%2Fgodkimchichi%2Fpost%2F7915102c-ee5f-46a7-b801-eb1b00ab3cae%2Fimage.png)