스마트웹앱콘텐츠전문가/직장

[mysql]특정 기간 동안의 데이터 조회

9D4U 2018. 6. 4. 11:27
728x90
반응형

ex) select 구문을 통해서 특정 기간 동안의 데이터가 조회가 되는 지 확인이 필요한 경우.

    다음과 같은 쿼리를 이용할 수 있음.

    형식 : date_add(now(), interval -1 day) : 현재시간함수인 now()로부터 day 기준으로 -1 사이에 있는 데이터의             갯수를 가져옴

   ※ 전제조건 : 비교하려는 데이터 형식이 데이터타입(datetime)이거나 혹은 동일한 형식으로 맞춘 후 비교를 해야함.


현재부터 한 달 전까지 where regdate >= date_add(now(), interval -1 month)

현재부터 일주일 전까지 where regdate >= date_add(now(), interval -7 day)

현재부터 하루 전까지  where regdate >= date_add(now(), interval -1 day)

현재부터 1시간 전까지 where regdate >= date_add(now(), interval -1 hour)


ex) SELECT * FROM '테이블명' WHERE 'datetime형식의 데이터 컬럼' >= DATE_ADD(NOW(), INTERVAL -1 MONTH)



cf) date_sub()이라는 함수로 존재.

 date_add(now(), interval -1 day) 와 date_sub(now(), interval 1 day)는 동일한 결과를 가져옴.

 interval 종류 : second, minute, hour, day, month, year 등..

 추가로 hour_minute, year_month 등과 같이 2가지를 동시에 비교 가능

 ex) interval "1:1"

 mssql에도 date_add() 비슷한 쓰임새를 가진 함수가 존재 : DATEADD(YEAR,1,GETDATE())

728x90