[MySQL] 프로그래머스 - DATETIME에서 DATE로 형 변환

gramm·2021년 2월 15일
0

알고리즘 문제 리뷰

목록 보기
22/36

출처: 프로그래머스 코딩 테스트 연습
https://programmers.co.kr/learn/courses/30/lessons/59414




처음 풀이

SELECT ANIMAL_ID, NAME, SUBSTRING(DATETIME, 1, 10) AS '날짜'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

파이썬의 슬라이싱 기능과 유사한 SUBSTRING을 통해 풀었다.



다른 풀이


위의 풀이는 간단하지만 사실 정석적인 풀이는 아니다. 요구하는 출력값은 반환하지만, 주어진 DATETIME의 의미는 고려되지 않았기 때문이다. 다른 형식 (ex. 'YYYY년 MM월 DD일')으로도 반환할 수 있으려면 DATETIME에서 각 숫자들의 의미를 고려한 풀이를 해야 한다.

찾아보니, DATE_FORMAT 함수를 통해 날짜 및 시간의 형식을 지정할 수 있다. 이 함수를 활용하여 아래의 풀이를 작성했다.

SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, "%Y-%m-%d") AS '날짜'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;



DATE_FORMAT 함수에서 사용할 수 있는 format 지정자는 여기에서 찾을 수 있다.

profile
I thought I introduced

0개의 댓글