计算SQL查询中的日期差异

时间:2012-02-15 08:37:52

标签: sql vb.net

我需要使用流动查询计算日期差异,但它不起作用。请指教。

SELECT ID, VoucherNo, DateRec, ProductID, Description, ClaimantCo, ClaimantName, City, Phone, DateReturn, ReqJob, WSIns, Remarks, Status, Part1, Part2, Part3, Part4, OtherWSCharges, FDCharges, P1Charges, P2Charges, P3Charges, P4Charges, DateJobBegun, DateJobDone, WSRemarks, TotChargesFromWS, DeliveryStatus, DateDelivered 
FROM tblClaims 
WHERE DateDiff(dd, DateReturn, GETDATE()) =3

我的目的是获取与DateRetun相比剩余三天的记录,与今天的日期相比。

由于

3 个答案:

答案 0 :(得分:2)

我认为你只是错误的方式得到了约会参数 - 如果你想在未来三天想要说:

datediff(dd, getdate(), DateReturn) = 3

答案 1 :(得分:0)

什么是DateReturn数据类型?我测试如下。如果DateReturn数据类型是DateTime,它应该可以工作。

declare @dt datetime
set @dt = dateadd(day,-3, getdate())

select datediff(dd,@dt, getdate())

结果是3

答案 2 :(得分:0)

也许这样的事情(如果DateReturn是日期时间):

SELECT 
    DateReturn 
FROM 
    tblClaims 
WHERE 
    tblClaims.DateReturn BETWEEN GETDATE()-3 AND GETDATE()