J'ai une requête pour récupérer date diff entre 2 date/heure comme:
SELECT DATEDIFF(DAY, @CreatedDate , GETDATE())
Ex :
SELECT DATEDIFF(DAY, '2013-03-13 00:00:00.000' , GETDATE())
J'ai besoin d'un travail de requête comme celui-ci qui soustrait un jour du jour créé:
SELECT DATEDIFF(DAY, **@CreatedDate- 1** , GETDATE())
Essaye ça
SELECT DATEDIFF(DAY, DATEADD(day, -1, '2013-03-13 00:00:00.000'), GETDATE())
OR
SELECT DATEDIFF(DAY, DATEADD(day, -1, @CreatedDate), GETDATE())
Je ne suis pas certain de ce que vous essayez précisément de faire, mais je pense que cette fonction SQL vous aidera:
SELECT DATEADD(day,-1,'2013-04-01 16:25:00.250')
Ce qui précède vous donnera 2013-03-31 16:25:00.250
.
Il vous ramène exactement un jour et fonctionne avec n'importe quel format date-heure ou standard.
Essayez d’exécuter cette commande et voyez si elle vous donne ce que vous recherchez:
SELECT DATEADD(day,-1,@CreatedDate)
Pour soustraire simplement un jour de la date d'aujourd'hui:
Select DATEADD(day,-1,GETDATE())
(poste d'origine utilisé -7 et était incorrect)
Apparemment, vous pouvez soustraire le nombre de jours que vous voulez d'un datetime.
SELECT GETDATE() - 1
2016-12-25 15:24:50.403
Cela devrait marcher.
select DATEADD(day, -1, convert(date, GETDATE()))
Essayez ceci, cela peut vous aider
SELECT DATEDIFF(DAY, DATEADD(DAY,-1,'2013-03-13 00:00:00.000') , GETDATE())
Pour être honnête, je viens d'utiliser:
select convert(nvarchar(max), GETDATE(), 112)
ce qui donne YYYYMMDD
et moins un.
Ou plus correctement
select convert(nvarchar(max), GETDATE(), 112) - 1
pour la date d'hier.
Remplacez Getdate()
par votre valeur OrderDate
select convert(nvarchar (max),OrderDate,112)-1 AS SubtractDate FROM Orders
devrait le faire.
SELECT DATEDIFF (
DAY,
DATEDIFF(DAY, @CreatedDate, -1),
GETDATE())