반응형
문제
3월에 태어난 여성 회원 목록 출력하기
다음과 같은 결과가 출력되어야 한다.
문제 풀이 과정
1. ID, 이름, 성별, 생년월일을 조회한다. (SELECT)
2. 생일이 3월이다. (DATE_OF_BIRTH의 MONTH = 3월)
3. 여성 회원이다. (GENDER = W)
4. 전화번호가 NULL이 아닌 데이터 (TLNO IS NOT NULL)
5. 회원 ID 기준 오름차순 정렬 (MEMEBER_ID ASC)
6. 생일은 YYYY-MM-DD 형식으로 출력 (_FORMAT)
SQL 코드
SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d')AS DATE_OF_BIRTH
FROM MEMBER_PROFILE
WHERE GENDER = 'W' AND
TLNO IS NOT NULL AND
MONTH(DATE_OF_BIRTH) = 3
ORDER BY MEMBER_ID ASC;
실행 결과
회고
의외로 생년월일을 YYYY-MM-DD 로 출력하는데 생각을 많이 했다. 맨 처음에는 %Y-%M-%D로 했다가 실행 결과가 1992-MARCH-16TH로 나와서 오답처리 되었다.
형식 구분 기호를 정리해야겠다.
1. DATE_FORMAT (날짜, 형식) : 날짜를 지정한 형식으로 출력한다.
2. DATE_FORMAT 의 형식 구분 기호
형식 구분 기호 | 역할 |
%Y | 4자리 연도 (ex. 1997) |
%y | 2자리 연도 (ex. 97) |
%M | 달 이름 (ex. January, February, March ...) |
%m | 월 2자리 (ex. 08) |
%D | 일 (ex. 1st, 2nd ...) |
%d | 일 2자리 (ex. 12) |
%H | 24시간 형식 시 (ex. 00~23) |
%h | 12시간 형식 시 (ex. 00~12) |
이 외에도 많은 표시 형식이 있다.
반응형
'🍅 Learning > SQL' 카테고리의 다른 글
[SQL/프로그래머스] 평균 일일 대여요금 구하기 (SELECT #6) (0) | 2023.03.30 |
---|---|
[SQL/프로그래머스] 흉부외과 또는 일반외과 의사 목록 출력하기 (SELECT #5) (0) | 2023.03.29 |
[SQL/프로그래머스] 12세 이하인 여자 환자 목록 출력하기 (SELECT #4) (0) | 2023.03.28 |
[SQL/프로그래머스] 모든 레코드 조회하기 (SELECT #3) (0) | 2023.03.27 |
[SQL/프로그래머스] 강원도에 위치한 생산공장 목록 출력 (SELECT #2) (0) | 2023.03.26 |