SQL - 시간 데이터 포맷 바꾸기, 특정 시간 이전 데이터 추출하기
1. 연습문제
코딩테스트 연습 - 조건에 부합하는 중고거래 댓글 조회하기 | 프로그래머스 스쿨 (programmers.co.kr)
2. 풀이
DATE_FORMAT(CREATED_DATE, (format))으로 DATE 타입 변수를 원하는 (format)으로 바꿀 수 있다.
그냥 출력하면 'YYYY-MM-DD HH:mm:ss'형태로 출력하지만...
DATE_FORMAT(CREATED_DATE, '%Y-%m-%d')로 바꾸면 '2022-10-02'처럼 시간,분,초를 뺄 수 있다.
또한 10월 데이터만 추출하라고 하는데..
WHERE CREATED_DATE < '2022-11-01';처럼 시간 비교가 가능하다.
이렇게 쓰면 2022-11-01보다 시간이 작은 데이터만 추출해준다.
SELECT TITLE, A.BOARD_ID, REPLY_ID, B.WRITER_ID, B.CONTENTS, DATE_FORMAT(B.CREATED_DATE, '%Y-%m-%d') as CREATED_DATE FROM USED_GOODS_BOARD A, USED_GOODS_REPLY B
WHERE A.BOARD_ID = B.BOARD_ID AND A.CREATED_DATE < '2022-11-01'
ORDER BY B.CREATED_DATE,TITLE;
추가로 이 문제 주의점은 '게시글 제목, 게시글 작성일, 게시글 내용', '댓글 제목, 댓글 작성일, 댓글 내용'등등 뭘 출력하라는지 정확히 파악해야한다.
그에 따라 A.CONTENTS인지 B.CONTENTS인지... A.CREATED_DATE인지 B.CREATED_DATE인지..
'게시글 작성일'이 2022년 10월인 데이터를 출력하시오.. 하면 게시글 데이터는 A 테이블에 있으니 A.CREATED_DATE라고 해야함
'프로그래밍 > SQL' 카테고리의 다른 글
SQL 연습 - 시간 차이는 무조건 DATEDIFF, MYSQL의 if문- (0) | 2023.09.22 |
---|---|
SQL 연습 -변수가 특정한 값을 포함하는지 체크하기- (0) | 2023.09.21 |
SQL 코딩테스트 복기 -문자열 부분수정(마스킹)하는 방법(concat + substr)- (0) | 2023.05.28 |
SQL 코딩테스트 복기 - 알파벳으로 시작하는 데이터 추출하는 방법(정규표현식) (1) | 2023.03.18 |
MYSQL에서 스키마(데이터베이스) 생성하기 (0) | 2023.01.19 |