프로그래머스 SQL 고득점 킷 3월에 태어난 여성 회원 목록 출력하기

hysss·2023년 2월 14일
0

SELECT - 3월에 태어난 여성 회원 목록 출력하기

문제 분석

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과 같이 시간 출력

    • DATE("날짜"): 날짜를 연도-월-일 시간:분:초 형식으로 변환
    • YEAR("날짜"): 날짜의 연도 반환
    • MONTH("날짜"): 날짜의 월 반환
    • DAY("날짜"): 날짜의 일 반환
    • HOUR("날짜"): 날짜의 시간 반환
    • MINUTE("날짜"): 날짜의 분 반환
    • SECOND("날짜"): 날짜의 초 반환

이 외에는 http://www.tutorialspoint.com/mysql/mysql-date-time-functions.htm 을 참고하자.

profile
매일 매일 규칙적으로

0개의 댓글