본문 바로가기
내일배움캠프/Daily Routine (SQL)

[내일배움캠프] SQL Daily Routine 18. DATETIME에서 DATE로 형 변환

by TIP__ 2024. 8. 2.

안녕하세요.
18회차 과제 "DATETIME에서 DATE로 형 변환"입니다.

문제 설명

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다.

ANIMAL_INS 테이블 구조는 다음과 같으며,

ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE

각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

ANIMAL_INS 테이블에 등록된 모든 레코드에 대해,

각 동물의 아이디와 이름, 들어온 날짜1를 조회하는 SQL문을 작성해주세요.

이때 결과는 아이디 순으로 조회해야 합니다.

답안

SELECT animal_id, name, substr(datetime, 1, 10) as "날짜"

from animal_ins

order by animal_id asc

 -. substr 코드를 통해서 글자 수의 제한을 주었습니다.

 -. datetime의 데이터를 첫 글자부터 10번째 글자까지만 표기하도록 설정했습니다.

 -. year만 표기하려면 substr(datetime, 1, 4)

 -. month만 표기하려면 substr(datetime, 6, 2)

 -. day만 표기하려면 substr(datetime, 9, 2)

 

 -. 배우진 못했지만 date_format을 이용하는 방법도 있습니다.

 -. date_format(datetime,'%Y-%m-%d') datetime의 데이터의 포멧 자체를 변환하는 방식인 듯 합니다.

 -. y를 소문자로 사용할 경우 연도의 끝 2자리만 나옵니다 2017 = 17

 -. m을 대문자로 사용할 경우 영어로 표기됩니다. 08 = august

 -. d를 대문자로 사용할 경우 순서로 표기됩니다. 01 = 1st, 02 = 2nd

 

저처럼 처음해보시는 분들에게 이 글이 조금이나마 도움이 되었으면 좋겠습니다.

댓글