Как получить предыдущую дату и использовать ее в запросе? - PullRequest
1 голос
/ 15 марта 2011

Я хотел бы получить предыдущую дату (т. Е. Текущую дату минус 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 ]

2 голосов
/ 15 марта 2011

Это может решить вашу проблему.

select * from table where 
column1 in ('values list') and 
DATEADD(DD, DATEDIFF(DY, 0, date), 0)=DATEADD(DD, DATEDIFF(DY, 0, GETDATE()), -1)
1 голос
/ 15 марта 2011

Я получил то, что искал:
(SELECT CONVERT(VARCHAR(10),DATEADD(DD, DATEDIFF(DD, 0, GETDATE()), -1),120))

Спасибо за вашу помощь!

1 голос
/ 15 марта 2011
select * from table where column1 in ('values list') 
and CAST(date as DATE)=CAST(DATEADD(DD, DATEDIFF(DY, 0, GETDATE()), -1) as DATE)
1 голос
/ 15 марта 2011

Использование:

   DECLARE @Date Datetime;


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


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

С уважением

0 голосов
/ 26 июля 2017
SELECT DATEADD(DAY,1,EOMONTH(getdate(),-1)) as 'FirstDate',
       DATEADD(day, -1, convert(date, GETDATE())) as 'yesterdayDate'
0 голосов
/ 13 июня 2012
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...