728x90
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/131120
난이도
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' 부분만 따로 추출한다.
반응형