Oracle 기준으로, 대출일로부터 14일 뒤의 반납예정일을 다음 결과… | [SQLD] SQL 개발자 기출유형 모의고사 2회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 2회
Oracle 기준으로, 대출일로부터 14일 뒤의 반납예정일을 다음 결과처럼 'YYYY-MM-DD' 형식 문자열로 출력하려 한다. ( ㉠ )에 들어갈 식으로 옳은 것은?대출
| 대출번호 | 회원번호 | 대출일 |
|---|---|---|
| 1 | 11 | 2026-03-02 |
| 2 | 12 | 2026-03-20 |
| 3 | 11 | 2026-04-25 |
SELECT 대출번호,
( ㉠ ) AS 반납예정일
FROM 대출
ORDER BY 대출번호;| 대출번호 | 반납예정일 |
|---|---|
| 1 | 2026-03-16 |
| 2 | 2026-04-03 |
| 3 | 2026-05-09 |
1
ADD_MONTHS(대출일, 14)
2
TO_CHAR(대출일, 'YYYY-MM') || '-14'
3
TO_CHAR(대출일 + 14, 'YYYY-MM-DD')
4
TO_NUMBER(대출일) + 14
해설
Oracle 에서 DATE + 숫자는 그 일수만큼 더한 날짜이므로 대출일 + 14 로 14일 뒤를 구한 다음 TO_CHAR로 'YYYY-MM-DD' 문자열을 만든다.
3월 20일은 4월 3일, 4월 25일은 5월 9일처럼 월이 바뀌는 경우도 날짜 연산이 자동으로 처리한다.
- ADD_MONTHS 는 일이 아니라 개월 수를 더하며 결과도 문자열이 아니다.
- 월 뒤에 '-14'를 붙이면 대출일과 무관하게 모든 행이 14일이 된다.
- DATE 를 TO_NUMBER 로 바로 바꿀 수 없어 형변환 오류가 난다.
오류나 개정된 내용이 보이면 알려주세요