출처: 프로그래머스 코딩 테스트 연습
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 지정자는 여기에서 찾을 수 있다.