https://school.programmers.co.kr/learn/courses/30/lessons/131120
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
조건은 3월인 여성회원의 ID, 이름, 성별, 생년월일을 조회하는데
전화번호가 Null인 경우 제외, 그리고 회원 ID를 기준으로 오름차순 정렬을 시켜주어야 한다.

테이블의 형태는 이러한데, date_of_brith는 date 형으로, 출력하는데 필요한 형태는 년,월,일 까지만 이다.
날짜와 관련된 함수를 간단히 정리를 해보자면
sysdate() : 현재 날짜와 시각을 출력
now() : 현재 날짜를 출력
date_format() : 숫자나 날짜를 주어진 format형태로 문자열 타입으로 변환 (mysql) ex) date_format(컬럼, format)
to_char() : 숫자나 날짜를 주어진 format형태로 문자열 타입으로 변환 (oracle) ex) to_char(컬럼, format)
date_format은 format을 넣을 때 대소문자를 잘 구분해주어야하는데, 대소문자에 따라 다르다.
| 형식 | 설명 | |
| %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... |
| DATE_FORMAT(날짜, 'FORMAT') | 날짜를 해당 포멧으로 변환 |
| DATE(날짜) | 날짜를 '연도-월-일'로 변환 |
| YEAR(날짜) | 날짜의 연도 반환 |
| MONTH(날짜) | 날짜의 월 반환 |
이를 참조해서 문제 풀이를 한다면, 코드는 다음과 같다.
select member_id, member_name, gender, date_format(date_of_birth, '%Y-%m-%d') as date_of_birth
from member_profile
where month(date_of_birth) in (3) and gender in ('W') and tlno is not null
order by member_id;
'Study > SQL' 카테고리의 다른 글
| SQL 고득점 Kit - Select(서울에 위치한 식당 목록 출력하기, Join 기본) (0) | 2023.02.17 |
|---|---|
| SQL 고득점 Kit - Select (오프라인/온라인 판매 데이터 통합하기) (0) | 2023.02.17 |