我正在try 添加一个Case When语句,如果每两列有重复项,该语句会将+1day添加到记录的日期列中.
这将是原始表:
A | B | C |
---|---|---|
Red | Table | 2023-01-01 |
Red | Table | 2023-01-01 |
这将是一个结果:
A | B | C |
---|---|---|
Red | Table | 2023-01-01 |
Red | Table | 2023-01-02 |
我知道使用DATEADD就足以更新日期
select DATEADD( 'day',1,'2023-09-13')::date;
,但无法理解如何获取重复的字段,并且在列 Select 过程中只更新Case When语句中的一个.
编辑:如果A列和B列相同,我希望第二个记录C列更新为+1天.
CASE
WHEN ROW_NUMBER() OVER (PARTITION BY a,b > 1)
THEN DATEADD('day', 1, a)
ELSE a
END AS c
例如,类似这样的操作将同时更新两行.
如果有任何帮助,我很感激.