2017-01-30 62 views
-6

我用昨天的日期下面的where条件为0到今天的日期选择在条件

where (DateDiff(d, FilteredPhoneCall.createdon, GETDATE()) = 0 
     or DateDiff(d, FilteredPhoneCall.modifiedon, GETDATE()) = 0) 

选择的价值,但我需要的。如果我用它来选择在条件昨日值-1,而不是0。它没有返回昨天的日期值。

where (DateDiff(d, FilteredPhoneCall.createdon, GETDATE()) = -1 
     or DateDiff(d, FilteredPhoneCall.modifiedon, GETDATE()) = -1) 
+0

您是否使用sqllite或SQL Server?他们是不同的数据库。请只使用相关标签(C#与此无关) – Rob

回答

1
SELECT 
* 
FROM yourTable 
WHERE 
(FilteredPhoneCall.createdon >= dateadd(day,datediff(day,1,GETDATE()),0) 
    AND FilteredPhoneCall.createdon < dateadd(day,datediff(day,0,GETDATE()),0)) 
OR 
(FilteredPhoneCall.modifiedon >= dateadd(day,datediff(day,1,GETDATE()),0) 
    AND FilteredPhoneCall.modifiedon < dateadd(day,datediff(day,0,GETDATE()),0)) 
0

尝试之间的条件;

WHERE FilteredPhoneCall.createdon between DATEADD(DAY, -1, GETDATE()) and GETDATE() 
0

试试这个: -

WHERE CAST(DATEADD(DAY, -1, GETDATE()) AS DATE) =CAST(FilteredPhoneCall.createdon AS DATE) 
1

使用此:

Where FilteredPhoneCall.createdon >= DATEADD(day,-1, GETDATE())