MEMBER_PROFILE 테이블에서
생일이 3월인 여성 회원의
ID, 이름, 성별, 생년월일을 조회하는 SQL문을 작성해주세요.
이때 전화번호가 NULL인 경우는 출력대상에서 제외시켜 주시고,
결과는 회원ID를 기준으로 오름차순 정렬해주세요.
SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d')
FROM MEMBER_PROFILE
WHERE MONTH(DATE_OF_BIRTH)=3
AND GENDER='W'
AND TLNO IS NOT NULL
ORDER BY MEMBER_ID;
DATE 데이터형 값으로부터 월 값을 추출하는 방법, 그리고 날짜 포맷을 바꾸는 방법을 알아야 하는 문제였다.
날짜 포맷 함수
DATE_FORMAT("날짜", "포맷"): 날짜를 해당 포맷으로 변환
포맷 종류
%Y: 풀 년도 (ex: 1996)
%y: 년도 뒷 두자리만 출력 (ex: 96)
%M: 영어로 월 출력 (ex: March)
%m: 숫자로 월 출력 (ex: 03)
%c: 0 빼고 숫자로 월 출력 (ex: 3)
%b: 짧은 영어로 월 출력 (ex: Mar)
%D: 16th 형식으로 일 출력 (ex: 6th)
%d: 숫자로 일 출력 (ex: 06)
%e: 0 빼고 숫자로 일 출력 (ex: 6)
%W: 영어로 요일 출력 (ex: Monday)
%w: 숫자로 요일 출력 (ex: 1)
%a: 짧은 영어로 요일 출력 (ex: Mon)
%H: 24시간 주기로 시간 출력 (ex: 23)
%h: 12시간 주기로 시간 출력 (ex: 11)
%r: 12:00:00 AM과 같이 시간 출력
이 외에는 http://www.tutorialspoint.com/mysql/mysql-date-time-functions.htm 을 참고하자.