2016-08-03 46 views
0

我写此查询来创建的,从今天的日期的4个月前ASP记录提醒:我想在SQL Server

SELECT 
    MemberId 
    ,Title 
    ,LastName 
    ,FirstName 
    ,MiddleName 
    ,Occupation 
    ,Productof 
    ,Dateofpurchase 
    ,Dateofservice 
    ,Address 
    ,City 
    ,Pin 
    ,Phone 
    ,MobileNo1 
    ,Email 
FROM 
    tbmMember 
WHERE 
    Dateofservice <= DATEADD(MONTH, - 4, GETDATE()) 

但此查询返回的4个月前的所有记录。

+0

如果我正确地找到了你,你想获得DateofService在四个月前和之前的所有记录?例如如果今天是8月3日,那么您希望所有记录的DateofService在4月3日或之前。那是对的吗?看起来你的问题标题和描述在某种程度上是矛盾的。 – RBT

+0

不,如果今天的日期是8月3日,我只想要4月3日的记录。我得到了解决方案。只有更新在WHERE Dateofservice = CONVERT(date,DATEADD(MONTH,-4,GETDATE()))和它工作。 – Ashley2605

回答

0

试试这个,这之前的4个月数据从今天返回

WHERE Dateofservice >= DATEADD(MONTH,-4,GETDATE()) 
0

这是时间(小时,分,...)敏感:

SELECT MemberId,Title,LastName,FirstName,MiddleName,Occupation,Productof,Dateofpurchase,Dateofservice,Address,City,Pin,Phone,MobileNo1,Email 
FROM tbmMember 
WHERE Dateofservice >= DATEADD(MONTH,-4,GETDATE()) 
AND Dateofservice <= GETDATE() 

这个人是不是时间敏感:

SELECT MemberId,Title,LastName,FirstName,MiddleName,Occupation,Productof,Dateofpurchase,Dateofservice,Address,City,Pin,Phone,MobileNo1,Email 
FROM tbmMember 
WHERE Dateofservice >= CONVERT(date, DATEADD(MONTH,-4,GETDATE())) 
AND Dateofservice <= CONVERT(date, GETDATE()) 

假设Dateofservice是日期类型。

-------------编辑-----------------

如果你只需要4个月的数据传回:

SELECT MemberId,Title,LastName,FirstName,MiddleName,Occupation,Productof,Dateofpurchase,Dateofservice,Address,City,Pin,Phone,MobileNo1,Email 
FROM tbmMember 
WHERE Dateofservice = CONVERT(date, DATEADD(MONTH,-4,GETDATE())) 

注意DateofService必须是日期类型,否则你需要将其转换为日期由CONVERT(date, Dateofservice)以及

+0

Thanks.This正在工作,但它返回了4个月前的整个记录​​。我只想要今天的4个月前的今天的记录。例如:如果今天的日期是2016年8月3日,那么我只需要2016年4月3日的记录。 – Ashley2605

+0

最后的查询工作。谢谢。 – Ashley2605

0

如果你只是想你记录的日期与日期比较从四个几个月前今天日期然后这里是你如何实现它:

SELECT 
    MemberId 
    ,Title 
    ,LastName 
    ,FirstName 
    ,MiddleName 
    ,Occupation 
    ,Productof 
    ,Dateofpurchase 
    ,Dateofservice 
    ,Address 
    ,City 
    ,Pin 
    ,Phone 
    ,MobileNo1 
    ,Email 
FROM 
    tbmMember 
WHERE 
    CONVERT(Date,Dateofservice) = CONVERT(Date, DATEADD(MONTH, - 4, GETDATE()))