背景:新需求在A表增加了一个completeDate 字段,需要对生产数据库的老数据补充该字段数据
执行的SQL:
UPDATE Orders SET completeDate = DATE_ADD(createdDate ,INTERVAL 20 DAY) WHERE status= 5 AND DATEDIFF(NOW(),createdDate) > 22 AND DATEDIFF(NOW(),createdDate) < 35 AND completeDate IS NULL
解析:
completeDate = DATE_ADD(createdDate ,INTERVAL 20 DAY) //赋值为创建时间20天后的数据(DATE_ADD)
DATEDIFF(NOW(),createdDate) > 22 AND DATEDIFF(NOW(),createdDate) < 35 //在22天--35天前(DATEDIFF)
参考的博客:date_add/date_sub