Oracle 기준으로 다음 SQL을 실행한 결과로 옳은 것은?[매출]매… | [SQLD] SQL 개발자 기출유형 모의고사 3회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 3회
Oracle 기준으로 다음 SQL을 실행한 결과로 옳은 것은?[매출]
| 매출번호 | 지점코드 | 금액 |
|---|---|---|
| S1 | B10 | 1250 |
| S2 | B10 | 1349 |
| S3 | B20 | -1250 |
| S4 | B20 | 80 |
SELECT 매출번호,
ROUND(금액, -2) AS R,
TRUNC(금액, -2) AS T,
MOD(금액, 300) AS M
FROM 매출
ORDER BY 매출번호;1
| 매출번호 | R | T | M |
|---|---|---|---|
| S1 | 1300 | 1200 | 50 |
| S2 | 1300 | 1300 | 149 |
| S3 | -1300 | -1200 | -50 |
| S4 | 0 | 0 | 80 |
2
| 매출번호 | R | T | M |
|---|---|---|---|
| S1 | 1300 | 1200 | 50 |
| S2 | 1300 | 1300 | 149 |
| S3 | -1300 | -1200 | -50 |
| S4 | 100 | 0 | 80 |
3
| 매출번호 | R | T | M |
|---|---|---|---|
| S1 | 1300 | 1200 | 50 |
| S2 | 1300 | 1300 | 149 |
| S3 | -1300 | -1200 | 250 |
| S4 | 100 | 0 | 80 |
4
| 매출번호 | R | T | M |
|---|---|---|---|
| S1 | 1300 | 1200 | 50 |
| S2 | 1300 | 1300 | 149 |
| S3 | -1200 | -1200 | -50 |
| S4 | 100 | 0 | 80 |
해설
자릿수 -2 는 십의 자리에서 처리하므로 ROUND 는 -1250 을 절댓값 기준으로 올려 -1300, 80 을 100 으로 만들고, TRUNC 는 버리기만 해 -1200·0 이 된다.
MOD 는 나머지의 부호가 피제수를 따르므로 -1250 을 300 으로 나눈 나머지는 -50 이다.
- -1250 의 반올림을 큰 쪽으로 올린 -1200 은 ROUND 결과가 아니다.
- 나머지를 양수로 맞춘 250 은 Oracle MOD 결과가 아니다.
- 80 은 십의 자리 8 이 5 이상이라 0 이 아니라 100 으로 반올림된다.
오류나 개정된 내용이 보이면 알려주세요