Welcome! Everything is fine.

[프로그래머스/Lv.1] 흉부외과 또는 일반외과 의사 목록 출력하기 - MySQL 본문

프로그래머스/SQL

[프로그래머스/Lv.1] 흉부외과 또는 일반외과 의사 목록 출력하기 - MySQL

개발곰발 2024. 3. 8.
728x90

📌 문제

📌 제출한 오답

날짜 포맷을 예시와 동일하게 조회하지 않았고, 고용일자를 내림차순으로 조회하지 않았다.

날짜 포맷 사용하는 법을 잘 몰라 검색해서 해결했다.

SELECT DR_NAME, DR_ID, MCDP_CD, HIRE_YMD 
FROM DOCTOR 
WHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS'  
ORDER BY HIRE_YMD, DR_NAME;

날짜 포맷이 잘못나온 모습

📌 정답

처음에 제출한 오답과 같이 OR로 적어도 되지만, 다른 사람들의 풀이를 보니 IN으로 묶어 처리하는 것이 더 깔끔해보였다.

SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') AS HIRE_YMD
FROM DOCTOR 
WHERE MCDP_CD IN ('CS', 'GS')
ORDER BY HIRE_YMD DESC, DR_NAME;

📌 기억할 것

  • 날짜 포맷을 지정하기 위해서 DATE_FORMAT()을 사용한다. 첫 번째 파라미터에는 컬럼을 넣고 두 번째 파라미터에는 원하는 출력 형태의 문자열 포맷을 넣는다.
포맷 분류 예시
%Y 년도 2024
%y 년도 24
%M March
%m 03
%d 08
%e 8
%W 요일 Friday
%a 요일 Fri
%T 시간 11:50:00
%H 시간(24H) 14
%l 시간(12H) 02
%i 분(00) 50
%s 초(00) 30