我有一个返回以下内容的select语句:
SELECT
StartDate
,EndDate
FROM
MyTable
结果返回以下数据:
我想要的是使用EndDate中的值更改StartDate的时间部分。因此,只有两个日期的时间部分相同,取自EndDate。我必须保持相同,直到毫秒。
是否可以使用DATEADD功能?
答案 0 :(得分:1)
SELECT DATEADD(DAY, DATEDIFF(DAY, EndDate, startDate), EndDate) As StartDate,
EndDate
FROM MyTable
我正在添加开始日期和结束日期之间的天数差异。 由于DateDiff具有较早日期之前的较晚日期,因此它将天差作为负数返回。
我猜测某些人会发现更具可读性的另一个选择是:
SELECT DATEADD(DAY, -DATEDIFF(DAY, startDate, EndDate), EndDate) As StartDate,
EndDate
FROM MyTable