web-dev-qa-db-fra.com

montrant qu'une date est supérieure à la date actuelle

Comment puis-je afficher quelque chose dans SQL où la date est supérieure à la date actuelle? 

Je veux extraire des données qui montrent tout ce qui est plus grand à partir d'aujourd'hui (maintenant) pour les 90 prochains jours. 

Je pensais =< {fn NOW()} mais cela ne semble pas fonctionner dans ma vue SQL ici. 

Comment cela peut-il être fait?

15
GabrielVa
SELECT * 
FROM MyTable 
WHERE CreatedDate >= getdate() 
AND CreatedDate <= dateadd(day, 90, getdate())

http://msdn.Microsoft.com/en-us/library/ms186819.aspx

28
Massimiliano Peluso

En supposant que vous ayez un champ pour DateTime, votre requête pourrait ressembler à ceci:

SELECT *
FROM TABLE
WHERE DateTime > (GetDate() + 90)
4
Nick Brekalo

Pour ceux qui veulent un Nice conditionnel:

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 
2
Jamie M.

Dans le serveur SQL, vous pouvez faire 

SELECT *
FROM table t
WHERE t.date > DATEADD(dd,90,now())
1
ysrb
Select * from table where date > 'Today's date(mm/dd/yyyy)'

Vous pouvez également ajouter du temps entre guillemets simples (00:00:00 AM)

Par exemple:

Select * from Receipts where Sales_date > '08/28/2014 11:59:59PM'
1
JMoen

Pour SQL Server

select *
from YourTable
where DateCol between getdate() and dateadd(d, 90, getdate())
1
Mikael Eriksson

Si vous utilisez SQL Server, cela ressemblerait à ceci:

DATEDIFF(d,GETDATE(),FUTUREDATE) BETWEEN 0 AND 90
0
David