2017-02-10 57 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

我的坏。帖子编辑 –

+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

工作!谢谢! –