프로그래머스 SQL 고득점 Kit - SELECT: 3월에 태어난 여성 회원 목록 출력하기 (MySQL, Oracle)

728x90
728x90

문제

https://school.programmers.co.kr/learn/courses/30/lessons/131120

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

난이도

Level 2

 

풀이

MySQL

select member_id, member_name, gender, date_format(date_of_birth, '%Y-%m-%d') date_of_birth
from member_profile
where tlno is not null
and month(date_of_birth) = 3
and gender = 'W'
order by member_id;

 

Oracle

select member_id, member_name, gender, to_char(date_of_birth, 'yyyy-mm-dd') date_of_birth
from member_profile
where tlno is not null
and to_char(date_of_birth, 'mm') = 3
and gender = 'W'
order by member_id;

 

정리

MySQL과 ORACLE 모두 공통으로 NULL을 출력하지 않기 위해서는 where 절에서 is not null라는 옵션을 추가해주어야 한다.

여기서 is not null은 NULL을 출력하지 않을 column에 부여한다.

그리고 MySQL에서 date type에서 '월'만 추출하기 위해 month 함수를 사용하지만, ORACLE에서는 to_char 함수를 이용해 'mm' 부분만 따로 추출한다.

 

반응형