본문 바로가기
SQL

입양 시각 구하기(1) - GROUP BY, DATE 자료형 변환

by hoshi03 2024. 12. 16.

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

 

프로그래머스

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

programmers.co.kr

 

• 24시 형식으로 시간 구하기

TO_CHAR(DATETIME,'HH24')

 

• 24시 형식으로 시간 01, 02, 03.. 형태가 아닌 1, 2, 3 형태로 구하기

TO_CHAR(DATETIME,'FMHH24')

FM을 붙이면 Fill Mode로 동작해서 09가 아닌 9로 들어가게 된다

 

• TO_CHAR로 문자열로 변환한 DATE 자료형 숫자로 변환하기

TO_NUMBER(TO_CHAR(DATETIME,'HH24')) HOUR

TO_NUMBER 메서드로 문자열을 숫자로 변환할 수 있다

 

• 풀이

위에서 한 대로 9~19시 사이에 입양된 동물을 구하기 위해 HH24 형태로 포매팅하고 

ORDER BY에 적절하게 넣기 위해서 TO_NUMBER 형태로 변환했다

SELECT TO_NUMBER(TO_CHAR(DATETIME,'HH24')) HOUR, COUNT(1) COUNT
FROM ANIMAL_OUTS 
WHERE TO_CHAR(DATETIME,'HH24') >= '09' AND TO_CHAR(DATETIME,'HH24') <='20'
GROUP BY TO_NUMBER(TO_CHAR(DATETIME,'HH24'))
ORDER BY TO_NUMBER(TO_CHAR(DATETIME,'HH24'))