我们在大学创建了一个数据库,其中包含不同类型的设备,这些设备需要在不同的日期进行维护。维护间隔也有所不同(有时每月一次,有时每2周一次,等等)。
现在,我们希望有一列可以在您更改维护日期时自动更新。我们通常使用的是

UPDATE table SET NextMaintDate = MaintDate + INTERVAL 1 month


结果,NextMaintDate的每个日期都在MaintDate之后一个月。是否可以使用不同的MaintDate具有不同的间隔?

最佳答案

使用CASE WHEN

UPDATE table SET NextMaintDate =
  CASE WHEN type = 'monthly' THEN MaintDate + INTERVAL 1 month
       WHEN type = 'weekly' THEN MaintDate + INTERVAL 1 week
       WHEN type = 'daily' THEN MaintDate + INTERVAL 1 day
  END

关于mysql - mysql在一张表中的不同时间间隔,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46522914/

10-10 05:20