Comment ajouter des jours à la date actuelle dans sql server?
Je suis en train d'ajouter des jours à la date actuelle et sa fonctionne bien, mais quand j'ajoute de 360 jours à la date actuelle, il me donne une fausse valeur.
par exemple: la Date Actuelle est le 11/04/2014
Et je suis l'ajout de 360 Jours, il devrait me donner 11/04/2015
mais il montre la même date 11/04/2014. l'année n'est pas en train de changer.
voici mon code
select dateadd(dd,360,getdate())
Pourquoi devrait-il retourner
Mais je ne suis pas l'obtention de cette valeur..
j'ai à ajouter des jours pas an.
La valeur que vous attendez (11/04/2015) est de 365 jours (un an) à partir d'aujourd'hui.
11/04/2015
? Correcte serait 2015-04-06 15:00:00
et en effet je obtenir ce résultat. Mais vous pouvez ajouter une année au lieu de 360 jours: select dateadd(year,1,getdate())
Mais je ne suis pas l'obtention de cette valeur..
j'ai à ajouter des jours pas an.
dateadd(dd,360,getdate())
est de me donner 2015-04-06
La valeur que vous attendez (11/04/2015) est de 365 jours (un an) à partir d'aujourd'hui.
OriginalL'auteur Fazil Mir | 2014-04-11
Vous devez vous connecter pour publier un commentaire.
Just do-
Il n'est pas nécessaire pour utiliser la fonction dateadd pour l'ajout ou la soustraction de jours à partir d'une date donnée. Pour ajouter des années, des mois, des heures vous avez besoin de la fonction dateadd.
Pauvres code comme il n'est pas explicite. dateadd(dd,360,getdate()) rend plus évidente (et vous pouvez compter sur l'intérieur de la mise en œuvre d'un datetime), bien que cette partie de la norme SQL, je ne pense pas qu'il a été.
DateAdd doit être utilisé au lieu de +/- opérateurs sur les dates. stackoverflow.com/a/29696475/354756
OriginalL'auteur Shahid Mustafa
select dateadd(dd,360,getdate())
vous donnera la date correcte comme indiqué ci-dessous:Je viens de l'exécution de la requête et vérification:
OriginalL'auteur Mahantesh
Vous Devriez l'utiliser comme ceci:-
Alors u se trouvent à la même date, mais Différents de l'Année.
OriginalL'auteur TheChanger
À partir du Serveur SQL 2017 la documentation officielle:
Si vous souhaitez supprimer la partie de la
GETDATE
fonction, vous pouvez faire:OriginalL'auteur Dherik
pouvez essayer ce
OriginalL'auteur Asifuzzaman Redoy
Deux ou trois façons (dépend de ce que vous voulez), dire que nous sommes au Courant de la Date est
(en tsql code) -
(BTW - vous dire 11April2014 ou 04Nov2014 dans votre post original? difficile à dire, comme datetime est la culture biaisée. En Israël 11/04/2015 signifie 11April2014. Je sais que dans les etats-unis 11/04/2014 cela signifie 04Nov2014. tommatoes tomates je suppose)
SELECT @myCurrentDate + 360
par défaut datetime calculs suivie par + (certaines entier), il suffit d'ajouter que dans les jours. Donc, vous obtiendrez2015-04-06 10:02:25.000
- pas exactement ce que tu voulais, mais plutôt juste un ballon parc de figure pour une date de fermeture de l'année prochaine.SELECT DateADD(DAY, 365, @myCurrentDate)
ouDateADD(dd, 365, @myCurrentDate)
vous donnera '2015-04-11 10:02:25.000'. Ces deux sont syntatic sucre (exactement le même). C'est ce que tu voulais, je pense. Mais c'est encore faux, parce que si la date est un "3 /4" année (disons
DECLARE @myCurrentDate datetime = '11Apr2011 10:02:25 AM'
), vous obtenez '2012-04-10 10:02:25.000'. parce que 2012 a 366 jours, vous vous souvenez? (29Feb2012 consomme un "extra" de la journée. Presque chaque quatrième année a 29Feb).Donc ce que je pense que tu voulais dire, c'est
qui donne
2015-04-11 10:02:25.000
.ou mieux encore
qui vous donne
2015-04-11 00:00:00.000
(parce que datetime a aussi le temps, non?). Subtil, ah?OriginalL'auteur LongChalk
SELECT DateAdd(5,day(getdate())
c'est pour l'ajout de 5 jours à l'actuelle jours.pour exemple:date d'aujourd'hui est 23/08/2018 il est devenu 28/08/2018 à l'aide de la requête ci-dessus
OriginalL'auteur Vimal_devs