Oracle 기준으로, 대출일로부터 14일 뒤의 반납예정일을 다음 결과… | [SQLD] SQL 개발자 기출유형 모의고사 2회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 2회
Oracle 기준으로, 대출일로부터 14일 뒤의 반납예정일을 다음 결과처럼 'YYYY-MM-DD' 형식 문자열로 출력하려 한다. ( ㉠ )에 들어갈 식으로 옳은 것은?

대출

대출번호회원번호대출일
1112026-03-02
2122026-03-20
3112026-04-25
SELECT 대출번호,
       ( ㉠ ) AS 반납예정일
  FROM 대출
 ORDER BY 대출번호;
대출번호반납예정일
12026-03-16
22026-04-03
32026-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 로 바로 바꿀 수 없어 형변환 오류가 난다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 2회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기