문제 설명
- Table : DOCTOR
- Column
DR_NAME : 의사이름
DR_ID : 의사ID
LCNS_NO : 면허번호
HIRE_YMD : 고용일자
MCDP_CD : 진료과코드
TLNO : 전화번호
문제
- 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 출력
- 이때 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬
- 날짜포맷은 (2020-03-01)과 동일한 형태
코드
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 ASC;
기능
Data_format()
Mysql에서는 to_char()이 없기 때문에 date_format를 사용
주의해야할 부분은 Data_format같은 경우 format부분에 대소문자를 구분
대문자를 넣었을때와, 소문자를 넣었을때가 틀려요!
변환함수 | 실행예제 | 실행결과 |
date_format() | date_format(sysdate(),'%y-%m-%d') | 24-07-30 |
date_format() | date_format(sysdate(),'%Y-%m-%d') | 2024-07-30 |
date_format() | date_format(sysdate(),'%Y-%M-%D') | 2024-July-30 |
형식 | 뜻 | 설명 |
%Y | 연 | 4자리 연도 |
%y | 연 | 2자리 연도 |
%m | 월 | 2자리(00-12) |
%c | 월 | 1자리, 10보다 작을 경우(1-12) |
%M | 월 | 이름(January,February...) |
%b | 월 | 줄인 이름(Jan,Feb) |
%d | 일 | 2자리 |
%e | 일 | 1자리, 10보다 작을경우(0-31) |
%D | 일 | 1st, 2nd... |
'BackEnd_Study > SQL' 카테고리의 다른 글
[프로그래머스 SQL 고득점 Kit] SELECT > 3월에 태어난 여성 회원 목록 출력하기 (0) | 2024.08.01 |
---|---|
[프로그래머스 SQL 고득점 Kit] SELECT > 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2024.07.31 |
[프로그래머스 SQL 고득점 Kit] SELECT > 과일로 만든 아이스크림 고르기 (0) | 2024.07.31 |
[프로그래머스 SQL 고득점 Kit] SELECT > 평균 일일 대여 요금 구하기 (0) | 2024.07.30 |