2017-02-10 20 views
0

Я должен представить, что он представляет мне адрес имущества, в котором люди перемещались в течение месяца после его перечисления.SQL-проверка, если сделано в течение месяца

SELECT rp.rp_street, rp.rp_city, rp.rp_state, rp.rp_zipcode 
FROM dbo.rentproperty rp 
INNER JOIN dbo.rental r 
ON (rp.rp_propertyno = r.ren_rp_propertyno) 
WHERE r.ren_moveindate BETWEEN rp.rp_datelisted AND rp.rp_datelisted + 30; 

я получаю

Msg 206, Level 16, State 2, Line 1 
Operand type clash: date is incompatible with int 
+0

Мой плохо. Post Edited –

+0

Используйте 'DATEADD'. https://msdn.microsoft.com/en-CA/library/ms186819.aspx. В вашем случае 'DATEADD (DAY, 30, rp.rp_datelisted)'. – Eric

+0

http://stackoverflow.com/a/923322/2654498 –

ответ

3

Вы можете использовать dateadd(day,n,col) добавить дней к дате:

select rp.rp_street, rp.rp_city, rp.rp_state, rp.rp_zipcode 
from dbo.rentproperty rp 
inner join dbo.rental r on (rp.rp_propertyno = r.ren_rp_propertyno) 
where r.ren_moveindate between rp.rp_datelisted 
     and dateadd(day, 30, rp.rp_datelisted); 
+0

Работал! Благодаря! –