2012-02-14 5 views
0

논리적으로이 솔루션을 사용하는 데 문제가 있습니다. 나는 컬럼을 가지고 accounts 테이블을 가지고있다. 이 열을 사용하여 최소 2 주 이상 만료되었지만 1 개월 이상 만료 된 모든 계정을 반환하고 싶습니다. 이것을 어떻게 할 수 있습니까?SQL의 날짜 범위

+0

2 주간은 현재 날짜로부터 평균 14 일이 지난가요? –

답변

2

뭔가가 작동합니다. 만료일이 2 주 전과 1 개월 전인 모든 기록을 선택하면됩니다.

select * 
from accounts 
where trial_expiration_date between DATE_SUB(curdate(), INTERVAL 1 MONTH) 
    and DATE_SUB(curdate(), INTERVAL 2 WEEK) 
1

이 방법에 대해 .. 이런

select * 
from TABLE 
where trial_expiration_date between dateadd(day,-14,getdate()) and getdate() 
0

당신은

select * 
from t 
where 
    datediff(date_add(trial_expiration_date, interval 2 week), now()) < 0 
    and 
    datediff(date_add(trial_expiration_date, interval 1 month), now()) > 0 

그것은 단지에만 date 부분을 산출 할 수 있으며, time을 고려하지 않습니다.