mysql 一张表中的不同时间间隔

标签 mysql sql date intervals

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

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 一张表中的不同时间间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46522914/

相关文章:

mysql - 在mysql中对与字母数值混合的数值进行排序

php - 计算mysql中日期时间字段中的时间差异

mysql - 仅更新 MySql 表中的时间戳

mysql - 得到下一个 xx :30 time (the next half-past hour) after a specified time

mysql - 如何在不授予 INSERT 权限的情况下在 dplyr 中创建 left_join(..., copy=TRUE)

SQL 查找列表中数据库中没有记录的项目

mysql - 更新中的自动增量值与内部生成的值冲突

sql - 伪造 SQL Server

ios - 在 IOS 中手动设置日期值并使用日期选择器

php - 接收 strtotime() 期望参数 1 是字符串,对象在 php 中给出错误