T-SQL:如何更新datetime字段的日期部分?

Mar*_*arc 8 t-sql sql-server datetime

在SQL Server 2008中,我只需要更新日期时间字段的日期部分.

在我的存储过程中,我收到日期时间格式的新日期.从这个参数我必须提取日期(对时间不感兴趣)并更新现有的值日期部分.
我怎样才能做到这一点?

Ed *_*per 14

一种方法是将日期之间的天数差异添加到旧日期

UPDATE TABLE
SET <datetime> = dateadd(dd,datediff(dd,<datetime>,@newDate),<datetime>)
WHERE ...
Run Code Online (Sandbox Code Playgroud)