142 votes

Soustraire un jour d'une date

J'ai une requête pour récupérer la différence de date entre 2 dates comme :

SELECT DATEDIFF(DAY, @CreatedDate , GETDATE())

Ex :

SELECT DATEDIFF(DAY, '2013-03-13 00:00:00.000' , GETDATE())

J'ai besoin d'une requête qui fonctionne comme ceci : soustraire un jour du jour créé :

SELECT DATEDIFF(DAY, **@CreatedDate- 1** , GETDATE())

153voto

yogi Points 6950

Essayez ceci

SELECT DATEDIFF(DAY,  DATEADD(day, -1, '2013-03-13 00:00:00.000'), GETDATE())

OU

SELECT DATEDIFF(DAY,  DATEADD(day, -1, @CreatedDate), GETDATE())

62voto

Chris Points 501

Je ne suis pas certain de ce que vous essayez de faire précisément, 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 en arrière et fonctionne avec n'importe quel format de date ou d'heure standard.

Essayez d'exécuter cette commande et voyez si elle vous donne ce que vous cherchez :

SELECT DATEADD(day,-1,@CreatedDate)

56voto

FoxDeploy Points 5636

Pour simplement soustraire un jour de la date du jour :

Select DATEADD(day,-1,GETDATE())

(le message original utilisait -7 et était incorrect)

39voto

Philip Rego Points 153

Apparemment, vous pouvez soustraire le nombre de jours que vous voulez d'une date.

SELECT GETDATE() - 1

2016-12-25 15:24:50.403

12voto

samithagun Points 454

Cela devrait fonctionner.

select DATEADD(day, -1, convert(date, GETDATE()))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X