Выбрать строки из БД SQL Server 2017 с условием дат

Select *
from [User]
where  [Date1] - [Date2] < 7  

SQL Server 2017.

Я хочу выбрать строки, где [Date1] - [Date2] менее 7 дней.

Даты в формате ГГГГ-ММ-ДД (объект).


person Tie_24    schedule 17.03.2018    source источник
comment
Какую базу данных вы используете?   -  person Gordon Linoff    schedule 17.03.2018
comment
Возможный дубликат расчета разницы во времени в SQL Server   -  person Roman Konoval    schedule 17.03.2018


Ответы (2)


Вы можете использовать функцию Datediff

Select * from [User] 
where datediff(dd, date2, date1) < 7 
person Cujoey    schedule 17.03.2018

Я бы порекомендовал сделать что-то вроде этого:

select u.*
from user u
where date1 >= date2 and
      date1 < date2 + interval '7 day';

Обратите внимание, что арифметика даты часто специфична для баз данных. Это стандартный синтаксис ANSI, но другие базы данных имеют аналогичные функции.

person Gordon Linoff    schedule 17.03.2018