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?
SELECT *
FROM MyTable
WHERE CreatedDate >= getdate()
AND CreatedDate <= dateadd(day, 90, getdate())
En supposant que vous ayez un champ pour DateTime
, votre requête pourrait ressembler à ceci:
SELECT *
FROM TABLE
WHERE DateTime > (GetDate() + 90)
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
Dans le serveur SQL, vous pouvez faire
SELECT *
FROM table t
WHERE t.date > DATEADD(dd,90,now())
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'
Pour SQL Server
select *
from YourTable
where DateCol between getdate() and dateadd(d, 90, getdate())
Si vous utilisez SQL Server, cela ressemblerait à ceci:
DATEDIFF(d,GETDATE(),FUTUREDATE) BETWEEN 0 AND 90