https://school.programmers.co.kr/learn/courses/30/lessons/59038
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드설명
MIN을 활용합니다.
가장 먼저 들어온 날짜를 찾기 위해서는 가장 작은 DATETIME을 조회하면 됩니다.
코드
MYSQL
-- 코드를 입력하세요
SELECT MIN(DATETIME) AS 시간
FROM ANIMAL_INS
ORACLE
SELECT MIN(AI.DATETIME) AS "시간"
FROM ANIMAL_INS AI
처음에 ORACLE로 풀때, 이미 DATETIME 값이 YYYY-MM-DD HH24:MI:SS 형식이었지만, TO_CHAR로 다시 한번 DATETIME 형식으로 변환하는 과정을 거쳤습니다. 이 과정을 거치며 답이 틀립니다.
SELECT TO_CHAR(MIN(AI.DATETIME), 'YYYY-MM-DD HH24:MI:SS') AS "시간"
FROM ANIMAL_INS AI
답은 똑같이 나오는데 왜 틀릴까? 라는 생각을 했습니다.
확실하지는 않지만, DATETIME의 TYPE은 DATETIME입니다.
TO_CHAR은 날짜형 데이터(DATETIME)을 문자형(CHAR TYPE)으로 변환하는 함수입니다.
채점기준에서 날짜형 데이터인 타입을 원하기에 그렇습니다.
'SQL > 프로그래머스' 카테고리의 다른 글
[SQL][프로그래머스] ROOT 아이템 구하기 - INNER JOIN + IS NULL MYSQL (0) | 2024.07.28 |
---|---|
[SQL][프로그래머스] 특정 형질을 가지는 대장균 찾기 - BIT (&) 연산자 MYSQL (0) | 2024.04.30 |
[SQL][프로그래머스] 고양이와 개는 몇 마리 있을까 - UNION + GROUP BY + IN MYSQL ORACLE (0) | 2024.04.30 |
[SQL][프로그래머스] 동명 동물 수 찾기 - GROUP BY + HAVING + COUNT MYSQL ORACLE (0) | 2024.04.30 |
[SQL][프로그래머스] 분기별 분화된 대장균의 개체 수 구하기 - CASE WHEN + GROUP BY + CONCAT MYSQL (0) | 2024.04.30 |