MyTable:
id int
Date1 DateTime
Date2 DateTime
如何在不影响 Date2 日期的情况下将 Date2 的时间设置为与 Date1 相同?
MyTable:
id int
Date1 DateTime
Date2 DateTime
如何在不影响 Date2 日期的情况下将 Date2 的时间设置为与 Date1 相同?
仅更新Date2
两个日期之间的天数差异。
UPDATE MyTable
SET Date2 = DATEADD(DAY, DATEDIFF(DAY, Date1, Date2), Date1);
这将保留Date2
.
更新:Date2
此方法本质上是通过使用作为参考进行重构,并且仅添加和Date1
之间的天数差异- 保留来自.Date1
Date2
Date1
这适用于 sql server 2008+
select cast(cast(date2 as date) as datetime) + cast(date1 as time) newdate2
from (select getdate() date2, cast('2012-01-01 20:00' as datetime) date1) a
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, @Date2)) + DATEADD(day, -datediff(day, 0, @Date1), @Date1)