[프로그래머스] 입양 시각 구하기_1

1. 입양 시각 구하기_1

A. 문제

위 프로그래머스 사이트에 접속하여 문제를 확인해주세요.

B. 내 답안

a. 서브 쿼리

SELECT HOUR, COUNT
FROM (
SELECT TO_CHAR(DATETIME, 'HH24') AS HOUR, COUNT(TO_CHAR(DATETIME, 'HH24')) AS COUNT
    FROM ANIMAL_OUTS
    GROUP BY TO_CHAR(DATETIME, 'HH24')
    ORDER BY TO_CHAR(DATETIME, 'HH24')
)
WHERE HOUR >= 9 AND HOUR < 20;

b. 좀 더 간단하게

SELECT TO_CHAR(DATETIME, 'HH24') AS HOUR, COUNT(TO_CHAR(DATETIME, 'HH24')) AS COUNT
FROM ANIMAL_OUTS
GROUP BY TO_CHAR(DATETIME, 'HH24')
HAVING TO_CHAR(DATETIME, 'HH24') >= 9 AND TO_CHAR(DATETIME, 'HH24') < 20
ORDER BY HOUR ASC;

a. 회고

내 풀이

  • TO_CHAR을 사용하여 시간값만 추출하여 사용했다.

반성

  • TO_CHAR를 몰랐었다.

결론

  • 유용한 기능들인데 모르는 것들이 점점 나오고 있다. 알때까지 하자.

C. 문제 해설

이해한 내용을 바탕으로 작성했습니다.

TO_CHAR는 형 변환 함수 중 하나이다. 기능은 숫자 또는 날짜 데이터를 문자 데이터로 변환한다.

TO_CHAR(날짜데이터(필수), '출력되길 원하는 문자 형태(필수)', 'NLS_DATE_LANGUAGE = language(선택)')

형식설명
CC세기
YYYY, RRRR연(4자리 숫자)
YY, RR연(2자리 숫자)
MM월(2자리 숫자)
MON월(언어별 월 이름 약자)
MONTH월(언어별 월 이름 전체)
DD일(2자리 숫자)
DDD1년 중 며칠 (1~366)
DY요일(언어별 요일 이름 약자)
DAY요일(언어별 요일 이름 전체)
W1년 중 몇 번째 주 (1~53)

참고문헌

GROUP BY. 코딩테스트 연습 - 입양 시각 구하기(1) | 프로그래머스 (programmers.co.kr). Programmers. (accessed Sep 24, 2021)

이 글이 도움이 되었나요?

신고하기
0분 전
작성된 댓글이 없습니다. 첫 댓글을 달아보세요!
    댓글을 작성하려면 로그인이 필요합니다.