如何检索以前的日期并在查询中使用它?

时间:2011-03-15 06:20:01

标签: sql-server-2008 date select

我想检索上一个日期(即当前日期减1)并通过=运算符在查询中使用它。

我得到以下查询来检索上一个日期:
select DATEADD(DD, DATEDIFF(DY, 0, GETDATE()), -1)

它给出: 2011-03-14 00:00:00.000

我只想获得: 2011-03-14 ,并在查询中使用它来检查列的数据。

类似的东西:
select * from table where column1 in ('values list') and date=(previous_date)

如何将两者结合起来并以我想要的格式获取?

6 个答案:

答案 0 :(得分:2)

这可能会解决您的问题。

select * from table where 
column1 in ('values list') and 
DATEADD(DD, DATEDIFF(DY, 0, date), 0)=DATEADD(DD, DATEDIFF(DY, 0, GETDATE()), -1)

答案 1 :(得分:1)

使用:

   DECLARE @Date Datetime;


    SET @Date = DATEADD(DD, DATEDIFF(DY, 0, GETDATE()), -1);


   select * from table where column1 in ('values list') and Date = @Date

此致

答案 2 :(得分:1)

select * from table where column1 in ('values list') 
and CAST(date as DATE)=CAST(DATEADD(DD, DATEDIFF(DY, 0, GETDATE()), -1) as DATE)

答案 3 :(得分:1)

我得到了我想要的东西:
(SELECT CONVERT(VARCHAR(10),DATEADD(DD, DATEDIFF(DD, 0, GETDATE()), -1),120))

感谢您的帮助!

答案 4 :(得分:0)

declare @date varchar(10);
SELECT @date=(CONVERT(VARCHAR(10),DATEADD(DD,-1,GETDATE()),120))
select * from EMPOFFADDRESS where convert(varchar(10),entry`enter code here`date,120) = @date

答案 5 :(得分:-1)

SELECT DATEADD(DAY,1,EOMONTH(getdate(),-1)) as 'FirstDate',
       DATEADD(day, -1, convert(date, GETDATE())) as 'yesterdayDate'