제로베이스/코딩테스트

[프로그래머스 mysql oracle] 입양 시각 구하기(1)

진주네카라 2022. 7. 6. 10:36
728x90

 

입양 시각 구하기(1)

 

문제 설명

코딩테스트 연습 - 입양 시각 구하기(1) | 프로그래머스 스쿨 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

09:00부터 19:59까지, 시간대별로 입양이 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.

 

 

입출력 예

SQL문을 실행하면 다음과 같이 나와야 합니다.

 

 

 

입출력 예 설명

datetime 형식은

 

yyyy-MM-dd hh:mm:ss

 

date 와 time이 모두 포함되어 있어서 시간만 가져오면 된다

 

 

 

풀이코드

sql1

-- mysql
-- 코드를 입력하세요
SELECT H.TIME AS HOUR, COUNT(H.TIME) AS COUNT
FROM (SELECT DATE_FORMAT(DATETIME, '%H') AS TIME FROM ANIMAL_OUTS) H
GROUP BY H.TIME
HAVING HOUR BETWEEN 09 AND 19
ORDER BY HOUR
;

 

sql2

-- oracle
-- 코드를 입력하세요
SELECT H.TIME AS HOUR, COUNT(TIME) AS COUNT
FROM (SELECT TO_CHAR(DATETIME, 'HH24') TIME FROM ANIMAL_OUTS) H
GROUP BY H.TIME
HAVING H.TIME BETWEEN 09 AND 19
ORDER BY H.TIME
;

 

실행 결과

 

 

 

 

확인코드

sql1

-- mysql
SELECT DATE_FORMAT(DATETIME, '%H') AS TIME FROM ANIMAL_OUTS;

 

date_format(날짜시간 or datetime컬럼, 형식) 함수

  • 날짜시간 형식 변환
  • %H는 시간을 24시간 형식으로 표시

 

 

 

 

 

sql2

-- oracle
SELECT TO_CHAR(DATETIME, 'HH24') TIME FROM ANIMAL_OUTS

 

to_char(날짜시간 or datetime컬럼, 형식) 함수

  • 날짜시간 형식 변환
  • HH24는 시간을 24시간 형식으로 표시

 

 

 

실행 결과

시간만 추출한거 일부 캡쳐

 

 

 

 

+날짜, 시간 변환함수 추가 사용방법

 

 

 

레벨2

 

 

 

이건 좀더 뿌듯했네

 

 

 

 

728x90