Oracle 기준으로 다음 SQL의 실행 결과로 옳은 것은? (모든 날… | [SQLD] SQL 개발자 기출유형 모의고사 6회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 6회
Oracle 기준으로 다음 SQL의 실행 결과로 옳은 것은? (모든 날짜의 시각은 00:00:00이다)[입원]
| 입원번호 | 입원일 | 퇴원일 |
|---|---|---|
| 1 | 2026-02-26 | 2026-03-02 |
| 2 | 2026-03-10 | 2026-03-10 |
| 3 | 2026-03-15 | (null) |
| 4 | 2026-03-28 | 2026-04-03 |
SELECT 입원번호, TO_CHAR(입원일, 'MM-DD') AS 입원,
퇴원일 - 입원일 AS 재원일수
FROM 입원
ORDER BY 입원번호;1
| 입원번호 | 입원 | 재원일수 |
|---|---|---|
| 1 | 02-26 | 4 |
| 2 | 03-10 | 0 |
| 3 | 03-15 | (null) |
| 4 | 03-28 | 6 |
2
| 입원번호 | 입원 | 재원일수 |
|---|---|---|
| 1 | 02-26 | 6 |
| 2 | 03-10 | 0 |
| 3 | 03-15 | (null) |
| 4 | 03-28 | 6 |
3
| 입원번호 | 입원 | 재원일수 |
|---|---|---|
| 1 | 02-26 | 4 |
| 2 | 03-10 | 1 |
| 3 | 03-15 | (null) |
| 4 | 03-28 | 6 |
4
| 입원번호 | 입원 | 재원일수 |
|---|---|---|
| 1 | 02-26 | 4 |
| 2 | 03-10 | 0 |
| 3 | 03-15 | 0 |
| 4 | 03-28 | 6 |
해설
Oracle 에서 날짜 - 날짜는 두 날짜 사이의 일수를 숫자로 돌려주므로 2026-02-26 부터 03-02 까지는 2월 28일을 거쳐 4, 같은 날은 0 이다.
퇴원일이 NULL 인 입원번호 3 은 연산 결과가 NULL 이고, TO_CHAR 의 MM-DD 서식은 월·일만 문자로 보여 준다.
- NULL 과의 날짜 연산은 0 이 아니라 NULL 이다.
- 2026년 2월은 28일까지라 6 이 아니라 4 이다.
- 같은 날 빼기는 시작일을 포함해 세지 않으므로 0 이다.
오류나 개정된 내용이 보이면 알려주세요