처음에 DATETIME 컬럼을 이용해서 연도-월-일을 SUBSTRING으로 구해본 경험이 있어 쉽게 "시간"만 구할 수 있을거라 생각했다. 그래서 SUBSTRING(DATETIME, 11, 3)(컬럼명, 시작위치, 시작위치로부터 끝 위치)로 쉽게 구할 수 있었다.
하지만 SUBSTRING을 사용할 경우 문자열의 시작위치와 시작위치로부터 끝 위치를 하나하나 찾아서 적어줘야 하는게
귀찮아지기 시작했다.
그래서, 찾아 본 결과 HOUR(), MINUTE(), SECOND() 함수가 존재했다.
또한, 다양한 방식으로 찾는 방법이 존재 했지만 HOUR(), MINUTE(), SECOND()
보다 깔끔하게 구현된 예시는 존재하지 않았다.
하지만, 경우에 따라 HOUR(), MINUTE(), SECOND()이 아닌 다른 방식으로 구해야 할 수 있기 때문에
향후 학습을 해야할 필요성은 느끼고 있다.
제출한 코드 :
SELECT HOUR(DATETIME) AS HOUR, COUNT(*)
FROM ANIMAL_OUTS
GROUP BY HOUR
HAVING HOUR BETWEEN 9 AND 19
ORDER BY HOUR ASC
'SQL 문제' 카테고리의 다른 글
문제 29. 인기있는 아이스크림(난이도 1) (0) | 2024.07.17 |
---|---|
문제 27. 진료과별 총 예약 횟수 출력하기(난이도 7) (0) | 2024.07.17 |
문제 25. 고양이와 개는 몇 마리 있을까(난이도 3)(GROUP BY) (0) | 2024.07.12 |
문제 24. 카테고리 별 상품 개수 구하기(난이도 10)(SQL 구문 실행 순서) (0) | 2024.07.12 |
문제 23. 중성화 여부 파악하기(난이도 8)(조건문) (0) | 2024.07.12 |