DATETIM에서 DATE로 형 변환
문제 설명
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.
NAMETYPENULLABLEANIMAL_ID | VARCHAR(N) | FALSE |
ANIMAL_TYPE | VARCHAR(N) | FALSE |
DATETIME | DATETIME | FALSE |
INTAKE_CONDITION | VARCHAR(N) | FALSE |
NAME | VARCHAR(N) | TRUE |
SEX_UPON_INTAKE | VARCHAR(N) | FALSE |
ANIMAL_INS 테이블에 등록된 모든 레코드에 대해, 각 동물의 아이디와 이름, 들어온 날짜 1을 조회하는 SQL문을 작성해주세요. 이때 결과는 아이디 순으로 조회해야 합니다.
풀이
SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS '날짜' FROM ANIMAL_INS
ORDER BY ANIMAL_ID
1. DATE_FORMAT을 이용하여 DATETIME 필드의 값을 가공해주어야 합니다.
- 처음에는 DATE를 이용하여 날짜만 뽑아낼 수 있을 수 있을 것이라고 생각하였는데 뒤에 yyyy-mm-dd hh:mm:ss의 형태로 출력이 되어서 파이썬이나 다른 언어였으면 문자열 가공을 하였겠지만 방법을 정확히 모르겠어서 DATE_FORMAT이라는 것을 찾아서 사용하였습니다.
2. 해당 DATE_FORMAT의 첫번째 인자로 바꿀 데이터에 필드를 넣고 데이트 필드만 가져오는 정규식을 두 번째 인자에 넣으면 두 번째 인자의 형식으로 데이터를 변경하여 줍니다.
3. 해당 내용을 '날짜'로 필드명을 바꿔서 결과값을 출력하여줍니다.
'DevLog' 카테고리의 다른 글
[프로그래머스] SQL NULL 처리하기 (0) | 2022.10.01 |
---|---|
[프로그래머스] SQL 입양 시각 구하기(1) (0) | 2022.09.30 |
[프로그래머스] SQL 최댓값 구하기 (0) | 2022.09.30 |
[생각] Session, JWT token 항상 jwt가 옳을까? (1) | 2022.09.20 |
[WIL] 프리온보딩 세번째 과제 회고록 - 게임듀오 (2) | 2022.07.19 |