통화이력 산출 SQL
최근 한달동안 통화이력이 없는 전화번호 현황을 출력하고 싶다면 어떻게 해야 할까?
Oracle |
select 전화번호,날짜,요일 from 전화번호 not in ( select distinct 전화번호 from 통화이력 where 날짜 > sysdate -31 ); |
MySQL |
select 전화번호,날짜,요일 from 전화번호 not in ( select distinct 전화번호 from 통화이력 where 날짜 > (date_add(now(), interval -31 day) ); |
where 날짜 >= date_add(now(), interval -1 month) -- 한달전
where 날짜 >= date_add(now(), interval -1 day) -- 하루전
where 날짜 >= date_add(now(), interval -1 hour) -- 한시간전
where date_format(D_time,"%Y-%m-%d") = current_date; -- 오늘날짜인 거 가져오기
where D_time > date_sub(now(), interval 1 day); -- 등록된지 24시간이 안된 거
SELECT TO_DAYS('2015-01-20') - TO_DAYS('2014-11-15' ) AS "날짜차이";
SELECT now(), hour(now())as "시간" , minute(now()) as "분", second(now()) as "초", curdate(), curtime();
SELECT WEEKDAY(CURDATE()), WEEKDAY('2015-11-12');
0=월요일,1=화요일,2=수요일,3=목요일,4=금요일,5=토요일,6=일요일을 의미한다.
# 1일 추가하기
SELECT DATE_ADD(NOW(),INTERVAL 1 DAY);
# 한달 더하기
SELECT DATE_ADD(NOW(),INTERVAL 1 MONTH);
'SQL' 카테고리의 다른 글
MySQL 주소에서 지역명 정리하기 (0) | 2015.01.25 |
---|---|
[오라클] 테이블 생성/변경시 제약조건 (0) | 2015.01.23 |
[MySQL] 데이터베이스 생성 (0) | 2015.01.18 |
MySQL 특정 칼럼의 행 비교후 개수 카운트 (3) | 2015.01.17 |
MySQL 테이블 칼럼 삭제 (0) | 2015.01.16 |