상세 컨텐츠

본문 제목

프로그래머스 LEVEL2 [입양시각구하기1] ORACLE

DataBase/프로그래머스

by Chan.94 2021. 10. 22. 15:43

본문

반응형

SQL에 대해 처음 공부해보는 분들에게 개념을 적립할 수 있는 좋은 문제라고 생각한다.

 

 

코딩테스트 연습 - 입양 시각 구하기(1)

ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물

programmers.co.kr


SQL (ORACLE)

SELECT
    TO_NUMBER(TO_CHAR(DATETIME, 'HH24')) AS HOUR
    ,COUNT(TO_NUMBER(TO_CHAR(DATETIME, 'HH24'))) AS COUNT
FROM ANIMAL_OUTS
WHERE TO_NUMBER(TO_CHAR(DATETIME, 'HH24')) BETWEEN 9 AND 19
GROUP BY TO_NUMBER(TO_CHAR(DATETIME, 'HH24'))
ORDER BY TO_NUMBER(TO_CHAR(DATETIME, 'HH24'))

해설

/* 09:00부터 19:59분까지 */
WHERE TO_NUMBER(TO_CHAR(DATETIME, 'HH24')) BETWEEN 9 AND 19

시간을 문자로 변경하는 방법과 문자를 숫자로 변경하는 방법을 알아야 한다.

 

시간 -> 문자 : TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS')

HH12/ HH24 두 개의 표현 방법이 있다.

HH12는 시간을 12시간 표기법으로 HH24는 24시간 표기법으로 나타내는 것이다.

TO_CHAR 함수 사용법에 대해서 궁금하다면 ([DataBase/ORACLE] - [ORACLE] TO_CHAR 기본 사용법) 포스팅을 확인 바란다.

 

문자 -> 숫자 : TO_NUMBER(CHAR)

 

/* 각 시간대별로 입양이 몇 건이나 발생했는지 */
GROUP BY TO_NUMBER(TO_CHAR(DATETIME, 'HH24'))
/* 시간대 순으로 정렬 */
ORDER BY TO_NUMBER(TO_CHAR(DATETIME, 'HH24'))
반응형

관련글 더보기

댓글 영역

>