DATE_FORMAT 테이블에서 Type이 Date인 것들이 나타난다.
틀린 부분이 없다고 생각했는데, 자세히보니 출력되는 날짜의 형식이 달랐다.
DATE_FORMAT을 이용하여 Date타입의 값들을 내가 원하는 포맷으로 출력 할 수 있다.
1. DATE_FORMAT(날짜 , 형식)
DATE_FORMAT(날짜 , 형식) : 날짜를 지정한 형식으로 출력 할 수 있다.날짜 부분은 날짜 형식을 담고 있는 컬럼명이 들어가면 되며 형식은 다양하게 존재하는데 다음 처럼 정리한다.
구분기호 | 역할 | 구분기호 | 역할 |
%Y | 4자리 년도 | %m | 숫자 월 ( 두자리 ) |
%y | 2자리 년도 | %c | 숫자 월(한자리는 한자리) |
%M | 긴 월(영문) | %d | 일자 (두자리) |
%b | 짧은 월(영문) | %e | 일자(한자리는 한자리) |
%W | 긴 요일 이름(영문) | %I | 시간 (12시간) |
%a | 짧은 요일 이름(영문) | %H | 시간(24시간) |
%i | 분 | %r | hh:mm:ss AM,PM |
%T | hh:mm:SS | %S | 초 |
select ..., hire_ymd, ... from doctor
위 날짜 컬럼 부분의 select 쿼리문을 다음 처럼 변경했다.
-- 코드를 입력하세요select * from doctor;
#이름아이디과고용날짜
select dr_name, dr_id, mcdp_cd, hire_ymd from doctor;
#MCDP_CD가 CS 거나 GS인 (조건)
select dr_name, dr_id, mcdp_cd, DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') AS HIRE_YMD from doctor
where mcdp_cd = "cs" or mcdp_cd = "gs"
#고용일기준내림 d, 같으면 name 내림
order by hire_ymd desc, dr_name asc;
SQL
복사
주의 할 것은 %m과 %M은 다른 것 처럼 대문자에 특별한 의미들이 있는 점을 주의하자.