用户(user_id)在不同时间段输入数据。如果日期是一天后,则数据被认为是相同的。主要是我想将第3行中的日期更改为第2行。
UPDATE #temp
SET CUR_VALUE_DATETIME = DATEADD(DAY, -1, CUR_VALUE_DATETIME)
WHERE CUR_VALUE_DATETIME <= DATEADD(DAY, -1, CUR_VALUE_DATETIME)
我试过的上述方法什么都没有。
答案 0 :(得分:2)
如果我了解您尝试使用此特定示例所做的事情,则需要将每个日期与恰好更大的日期进行比较。你可以通过自我加入来做到这一点。
update t1
set t1.curr_value_datetime = t2.curr_value_datetime
from #temp t1
join #temp t2
on t1.curr_value_datetime - 1 = t2.curr_value_datetime
但是,由于您提到了user_id,因此您需要调整此内容以将user_id考虑在内。否则你会遇到问题。