본문 바로가기
갭알 ☠️/SQL

[프로그래머스/SQL] DATETIME에서 DATE로 형 변환 (MySQL, Oracle)

by Niyaoh 2022. 8. 12.

https://school.programmers.co.kr/learn/courses/30/lessons/59414

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

ANIMAL_INS 테이블

NAME TYPE NULLABLE INFO
ANIMAL_ID VARCHAR(N) FALSE 아이디
ANIMAL_TYPE VARCHAR(N) FALSE 종류
DATETIME DATETIME FALSE 보호 시작일
INTAKE_CONDITION VARCHAR(N) FALSE 보호 시작 당시 상태
NAME VARCHAR(N) TRUE 이름
SEX_UPON_INTAKE VARHCAR(N) FALSE 성별 및 중성화 여부

 

[문제] ANIMAL_INS 테이블에 등록된 모든 레코드에 대해, 각 동물의 아이디와 이름, 들어온 날짜를 조회하는 SQL문을 작성해주세요. 이때 결과는 아이디 순으로 조회해야 합니다.

 

 

▼ 해석 및 풀이

MySQL

/*
[테이블] : ANIMAL_INS
[컬럼명] : ANIMAL_ID, NAME, DATETIME(열 이름 '날짜')
[조건] : 모든 데이터들의 ANIMAL_ID, NAME, DATETIME을 조회. 단, DATETIME은 0000-00-00 형식으로 나타내며 ANIMAL_ID 기준 ASC순으로 조회.

DATE_FORMAT : 날짜를 지정한 형식으로 출력하는 시간 함수
*/

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

Oracle

/*
TO_CHAR(컬럼명, '형식') : 해당 컬럼을 형식(YYYY-MM-DD : 0000-00-00)에 맞게 추출
*/

SELECT ANIMAL_ID, NAME, TO_CHAR(DATETIME, 'YYYY-MM-DD') AS "날짜"
FROM ANIMAL_INS
ORDER BY ANIMAL_ID ASC;

 

댓글