SQL
[MySQL] IS NOT NULL, 날짜함수 / 3월에 태어난 여성 회원 목록 출력하기
O'mil
2024. 4. 24. 12:28
728x90
문제 설명
Table: MEMBER_PROFILE
- 생일이 3월인 여성 회원의 ID, 이름, 성별, 생년월일 조회
이때 전화번호가 NULL인 경우는 출력대상에서 제외,
결과는 회원ID를 기준으로 오름차순
코드
SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') AS DATE_OF_BIRTH
FROM MEMBER_PROFILE
WHERE DATE_OF_BIRTH LIKE '____-03%'AND
GENDER = 'W'
ORDER BY MEMBER_ID ASC;
결과
IS NULL
- IS NULL
- IS NOT NULL
SELECT 컬럼명
FROM 테이블명
WHERE 컬럼명 IS NULL;
// 컬럼이 NULL인 값만 출력
SELECT 컬럼명
FROM 테이블명
WHERE 컬럼명 IS NOT NULL;
// 컬럼이 NOT NULL인 값만 출력
코드
SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') AS DATE_OF_BIRTH
FROM MEMBER_PROFILE
WHERE DATE_OF_BIRTH LIKE '____-03%'
AND GENDER = 'W'
AND TLNO IS NOT NULL
ORDER BY MEMBER_ID ASC;
결과
날짜 함수
- dayofweek(날짜): 몇 번째 요일인지 알려줌
일요일 = 1, 월요일 = 2, ··· , 토요일 = 7 - weekday(날짜): 몇 번째 요일인지 알려줌
월요일 = 0, 화요일 = 1, ··· , 일요일 = 6 - dayofmonth(날짜): 달의 몇 번째 날인지 알려줌
리턴값은 1~31의 값 - dayofyear(날짜): 한 해의 몇 번째 날인지 알려줌
리턴값은 1~366의 값 - year(날짜): 년도 리턴
- month(날짜): 리턴값은 1~12의 값
- hour(시간): 리턴값은 0~23
- minute(시간): 리턴값은 0~59
- second(시간): 리턴값은 0~59
- dayname(날짜): 요일을 영어로 리턴
ex) monday, tuesday, ··· - monthname(날짜): 달을 영어로 리턴
ex) January, February, ··· - quarter(날짜): 분리를 알려줌
리턴값은 1~4
코드
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) = 3
AND GENDER = 'W'
AND TLNO IS NOT NULL
ORDER BY MEMBER_ID ASC;
728x90