SQL에 대해 처음 공부해보는 분들에게 개념을 적립할 수 있는 좋은 문제라고 생각한다.
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'))
프로그래머스 LEVEL4 [입양시각구하기2] ORACLE (1) | 2021.10.26 |
---|---|
프로그래머스 LEVEL4 [보호소에서 중성화한 동물] ORACLE (0) | 2021.10.02 |
프로그래머스 LEVEL3 [오랜 기간 보호한 동물(1)] ORACLE (0) | 2021.10.01 |
프로그래머스 LEVEL3 [있었는데요 없었습니다] ORACLE (0) | 2021.09.29 |
프로그래머스 LEVEL3 [없어진 기록 찾기] ORACLE , MYSQL (0) | 2021.09.16 |
댓글 영역