2009-08-26 6 views
7

Dans SQL Server 2008, je dois mettre à jour uniquement la partie date d'un champ datetime.T-SQL: Comment mettre à jour la partie date du champ datetime?

Dans ma procédure stockée, je reçois la nouvelle date au format datetime. De ce paramètre, je dois extraire la date (pas intéressé par le temps) et mettre à jour la partie date des valeurs existantes.
Comment est-ce que je peux faire ceci?

Répondre

13

Un moyen serait d'ajouter la différence de jours entre les dates à l'ancienne date

UPDATE TABLE 
SET <datetime> = dateadd(dd,datediff(dd,<datetime>,@newDate),<datetime>) 
WHERE ... 
+1

fantastique, merci beaucoup! – Marc

+0

Méfiez-vous des années bissextiles ... – billy

Questions connexes