SQL/MySQL - 프로그래머스

[Lv.1] 조건에 부합하는 중고거래 댓글 조회하기[DATE_FORMAT, YEAR, MONTH]

셈뇽 2024. 8. 18. 18:49

 

 

문제 해결을 위한 개념 정리

 

DATE_FORMAT

아래 자료 참고

 

흉부외과 또는 일반외과 의사 목록 출력하기[DATE_FORMAT]

문제 해결을 위한 개념 정 ✅ DATE_FORMAT: 날짜 포맷팅 함수→ DATE_FORMAT(DATE, 'FORMAT') FORMAT설명FORMAT설명%Y4자리 년도(1999, 2024)%y2자리 년도(99, 24)%M월(Janeary, May...)%m월(01, 02..)%D일(1st, 2nd...)%d일(01, 25...)

seheehee.tistory.com

 

YEAR, MONTH

1) YEAR() 함수

→ 1000~9999 사이의 숫자로 반환되며, 날짜에서 '년도'만 반환

YEAR('2021-09-03 02:23:44')

>> 2021

 

2) MONTH() 함수

→ 1~12 사이의 숫자로 반환되며, 날짜에서 '월'만 반환

MONTH('2021-09-03 02:23:44')

>> 9

 

3) 기타 함수

  • DAY() → '일' 반환
  • TIME() → '시간' 반환
  • HOUR() → '시' 반환
  • MINUTE() → '분' 반환
  • SECOND() → '초' 반
DAY('2021-09-03 02:23:44')
TIME('2021-09-03 02:23:44')
HOUR('2021-09-03 02:23:44')
MINUTE('2021-09-03 02:23:44')
SECOND('2021-09-03 02:23:44')

>> 3
>> 02:23:44
>> 2
>> 23
>> 44

 

 

문제 해결 코드

 

SELECT B.TITLE, B.BOARD_ID, R.REPLY_ID, R.WRITER_ID, R.CONTENTS, DATE_FORMAT(R.CREATED_DATE,"%Y-%m-%d") as CREATED_DATE
FROM USED_GOODS_BOARD AS B
LEFT JOIN USED_GOODS_REPLY AS R
ON B.BOARD_ID=R.BOARD_ID
WHERE R.REPLY_ID IS NOT NULL AND YEAR(B.CREATED_DATE) = '2022' AND MONTH(B.CREATED_DATE)='10'
ORDER BY R.CREATED_DATE ASC, B.TITLE ASC;