我正试图为“汽车维修商店”制作一个应用程序。在MySQL表中
每辆去维修的汽车,每隔6个月就必须再来一次新的检查。当汽车第一次到达时,日期将在"maintenance_date“字段中加盖时间戳。
问题是..。如何在新的检查(维修)周期内显示哪辆车(车牌)是(比如说7天)?
示例
MAINTENANCE_DATE = 1.1.2018 CAR_PLATE = XYXYXY
在25.6,我应该得到一个汽车牌照相同的日期(d/m)的新维修(正好6个月后),它将显示,直到维修日过去。
附注:
我试着用"maintenance_date > DATE_SUB(CURRENT_TIMESTAMP,间隔7天)“;”但我不是一个好方法。
发布于 2018-03-13 05:28:14
下面的代码将对您有帮助。
SELECT CAR_PLATE
FROM table_name
WHERE DATE_ADD(MAINTENANCE_DATE, INTERVAL 6 MONTH)
BETWEEN CURDATE() AND (DATE_ADD( CURDATE(), INTERVAL 7 DAY));
如果您要花时间进行比较,只需替换NOW()
而不是CURDATE()
.Check,下面给出的代码如下:
SELECT CAR_PLATE
FROM table_name
WHERE DATE_ADD(MAINTENANCE_DATE, INTERVAL 6 MONTH)
BETWEEN NOW() AND (DATE_ADD( NOW(), INTERVAL 7 DAY));
我已经把我的SQLfiddle附在这上面了。谢谢!
发布于 2018-03-13 04:55:51
尝试以下简单的方法来选择日期差异在0到7之间的记录(在将来)。
SELECT ID, CAR_PLATE, MAINTENANCE_DATE
FROM <Table>
WHERE TIMESTAMPDIFF(DAY, NOW(), MAINTENANCE_DATE) BETWEEN 0 AND 7
;
https://stackoverflow.com/questions/49248001
复制相似问题