Tech Stack/SQL

[MySQL] DATETIME에서 DATE로 형 변환_Lv.2

기븜 2024. 12. 24. 11:33
문제 https://school.programmers.co.kr/learn/courses/30/lessons/59414
 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. ANIMAL_INS 테이블에 등록된 모든 레코드에 대해, 각 동물의 아이디와 이름, 들어온 날짜를 조회하는 SQL문을 작성해주세요. 이때 결과는 아이디 순으로 조회해야 합니다. 시각(시-분-초)을 제외한 날짜(년-월-일)만 보여주세요.

 

요구사항

동물의 ID, name, datetime 조회 select

아이디 오름차순 order by

시각 제외, 날짜만 출력, 컬럼명 날짜로 변경

 

풀이방법
더보기
-- 코드를 입력하세요
SELECT animal_id,
       name,
       date_format(DATETIME, '%Y-%m-%d') as "날짜"
from animal_ins
order by animal_id

 

배운점
* to_char 함수: 숫자 or 날짜를 문자열로 변환하는 함수
to_char(값, '형식')

* date_format 함수: 날짜를 원하는 형식으로 변경하는 함수
date_format(날짜, '형식')

* 추가
%Y-%m-%d: 4자리 연도 표시 (ex. 2024)
%y-%m-%d: 2자리 연도 표시 (ex. 24)
%m과 %d는 한가지 방법뿐임