SQL

MySQL SUBTIME 예제 (30분전까지 데이터 불러오는 쿼리)

Link2Me 2021. 3. 24. 20:23
728x90

SUBTIME(start_value, time) 은 start_value 에서 time만큼을 차감한 결과를 돌려준다.

SELECT SUBTIME('2015-08-01 01:30:10','02:50:20') AS subtime
// subtime -> 2015-07-31 22:39:50

SELECT SUBTIME('2015-08-01 01:30:10','2015-08-01 02:50:20') AS subtime
// subtime -> NULL

SELECT SUBTIME('2015-08-01 01:30:10.126587','00:50:20') AS subtime
// subtime -> 2015-08-01 00:39:50.126587

SELECT SUBTIME('2015-08-01 01:30:10.126587','00:50:20.020202') AS subtime
// subtime -> 2015-08-01 00:39:50.106385

SELECT SUBTIME('01:30:10.126587','02:50:20.020202') AS subtime
// subtime -> -01:20:09.893615

SELECT SUBTIME('01:30:10.126587','-02:50:20.020202') AS subtime
// subtime -> 04:20:30.146789

SELECT SUBTIME("10:24:21", "5");

결과는 10:24:16 ("5"는 5초를 의미)

 

CURDATE() 현재 연-월-일, CURTIME() 현재 시:분:초,

NOW()와 SYSDATE() 현재 연-월-일 시:분:초 출력

현재시간으로 부터 30분까지의 결과를 반환하고자 한다면....

where regdate > subtime(current_timestamp(), '0:30:0') and regdate < current_timestamp()

 

다른 방법으로

where regdate >= date_add(now(), interval -30 minutes)

 

where regdate >= date_add(now(), interval -1 day)  // 1일전

728x90