문제: 흉부외과 또는 일반외과 의사 목록 출력하기
코딩테스트 연습 - 흉부외과 또는 일반외과 의사 목록 출력하기 | 프로그래머스 스쿨
풀이코드
-- 코드를 입력하세요
SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, '%Y-%m-%d')
FROM DOCTOR
WHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS'
ORDER BY HIRE_YMD DESC, DR_NAME
느낀 점
문제는 전체적으로 풀기 쉬웠지만 DATE_FORMAT 때문에 애를 먹긴 했다 ㅎㅎㅎ 날짜가 예시와 똑같이 나와야 한다는 조건이 중요한 조건이라고 생각하지 않고 있었는데 계속 틀려서 날짜를 봤더니 '2010-07-01 00:00:00' 이렇게 나와있었다. DATE 형인 이것을 시간을 다 빼고 '2010-07-01'로 만들기 위해선...?
DATE_FORMAT
DATE_fORMAT이 필요하다. DATE_FORMAT은 날짜 형식을 설정할 수 있는 것으로 DATE_FORMAT(날짜, 형식) 처럼 사용하면 날짜를 지정한 형식으로 출력해준다. DATE_FORMAT 함수는 DATE, DATETIME, TIMESTAMP 형식의 열에 모두 사용할 수 있다. 
위 사진은 DATE_FORMAT 함수에서 사용할 수 있는 주요 형식 코드를 정리해놓은 표이다.
자주 사용되는 포맷은 다음과 같다.
## YYYY-MM-DD (날짜만 출력)
DATE_FORMAT(column_name, '%Y-%m-%d')
## MM/DD/YYYY (미국 스타일 날짜)
DATE_FORMAT(column_name, '%m/%d/%Y')
## YYYY-MM-DD HH:MM:SS (날짜와 시간)
DATE_FORMAT(column_name, '%Y-%m-%d %H:%i:%s')
## HH:MM AM/PM (12시간 형식 시간)
DATE_FORMAT(column_name, '%h:%i %p')
## 월 일, 연도 (예: January 15, 2025)
DATE_FORMAT(column_name, '%M %d, %Y')
## 요일 포함 날짜 (예: Wednesday, 15 January 2025)
DATE_FORMAT(column_name, '%W, %d %M %Y')

'TIL > Coding Study - SQL' 카테고리의 다른 글
| [programmers] SQL 고득점 Kit - SELECT: 12세 이하인 여자 환자 목록 출력하기 (3) | 2025.01.17 |
|---|---|
| [programmers] SQL 고득점 Kit - SELECT: 강원도에 위치한 생산공장 목록 출력하기 (4) | 2025.01.16 |
| [programmers] SQL 고득점 Kit - SELECT: 인기있는 아이스크림 (2) | 2025.01.13 |
| [programmers] SQL 고득점 Kit - SELECT: 재구매가 일어난 상품과 회원 리스트 구하기 (1) | 2025.01.11 |
| [programmers] SQL 고득점 Kit - SELECT: 과일로 만든 아이스크림 고르기 (3) | 2025.01.11 |