我想检索上一个日期(即当前日期减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)
如何将两者结合起来并以我想要的格式获取?
答案 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'