我希望得到所有结果,其中moddate是从今天开始的一天

时间:2016-10-26 10:44:20

标签: sql sql-server

通过以下查询,我得到了当前日期的所有结果: -

select count(*) 
from   KLG_RKS_PKH..WorkHist 
where  modname ='HR' 
and    moddate = convert(date,Getdate())
and    revokedate = null

我希望得到所有结果moddate = moddte - 1。结果应该是今天之前的一天,即昨天和昨天。

有人可以提供帮助

1 个答案:

答案 0 :(得分:1)

如果您使用的是SQL Server,那么只需使用像这样的dateadd功能

SELECT COUNT(*)
FROM   KLG_RKS_PKH..WorkHist
WHERE  modname = 'HR'
AND    moddate = CONVERT(date, DATEADD(DAY,-1,GETDATE()))
AND    revokedate is NULL

如果未将moddate声明为类型日期而不是使用此

SELECT COUNT(*)
FROM   KLG_RKS_PKH..WorkHist
WHERE  modname = 'HR'
AND    CONVERT(date, moddate) = CONVERT(date, DATEADD(DAY,-1,GETDATE()))
AND    revokedate is NULL