我有一个表A
,其中包含字段duedate
。
我想将duedate
小于今天的所有行设置为今天+ 3个月。
例如:
id duedate
1 2015-08-15
2 2014-07-15
3 2015-03-01
4
5 2015-03-02
将(今天是:2015-07-06):
id duedate
1 2015-08-15
2 2015-10-06
3 2015-10-06
4 2015-10-06
5 2015-10-06
答案 0 :(得分:2)
要获得“今天加上三个月”,只需将这三个月添加到dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.01 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void){
if ([_timer isValid]) [_timer invalidate];
_timer = nil;
[self timer];
});
:
current_date
“日期+间隔”的结果是时间戳而不是日期,因此需要将其转换回日期。
要处理update A
set duedate = (current_date + interval '3' month)::date
where duedate < current_date
or duedate is null;
值,只需在null
子句中包含其他条件即可。对于where
为where duedate < current_date
的行,比较duedate
将失败,但由于附加条件,它们将被包含在内。