Ответ 1
SELECT *
FROM MyTable
WHERE CreatedDate >= getdate()
AND CreatedDate <= dateadd(day, 90, getdate())
Как мне показать что-то в SQL, где дата больше текущей даты?
Я хочу вытащить данные, которые показывают все больше с сегодняшнего дня (сейчас) на следующие 90 дней.
Я думал =< {fn NOW()}
, но это, похоже, не работает в моем представлении sql.
Как это можно сделать?
SELECT *
FROM MyTable
WHERE CreatedDate >= getdate()
AND CreatedDate <= dateadd(day, 90, getdate())
Предполагая, что у вас есть поле для DateTime
, ваш запрос может выглядеть следующим образом:
SELECT *
FROM TABLE
WHERE DateTime > (GetDate() + 90)
Для тех, кто хочет иметь условное условие:
DECLARE @MyDate DATETIME = 'some date in future' --example DateAdd(day,5,GetDate())
IF @MyDate < DATEADD(DAY,1,GETDATE())
BEGIN
PRINT 'Date NOT greater than today...'
END
ELSE
BEGIN
PRINT 'Date greater than today...'
END
В сервере sql вы можете сделать
SELECT *
FROM table t
WHERE t.date > DATEADD(dd,90,now())
Для SQL Server
select *
from YourTable
where DateCol between getdate() and dateadd(d, 90, getdate())
Select * from table where date > 'Today date(mm/dd/yyyy)'
Вы также можете добавить время в одинарные кавычки (00:00:00 AM)
Например:
Select * from Receipts where Sales_date > '08/28/2014 11:59:59PM'
Если вы используете SQL Server, это будет примерно так:
DATEDIFF(d,GETDATE(),FUTUREDATE) BETWEEN 0 AND 90