我想找到两个日期(dateStart,dateEnd)之间的差异仅适用于MySql查询中Mon-Fri的工作日。
这是我的查询,它比较两个日期,并在一周或更长时间后给出结果:
SELECT * FROM TABLE_NAME
WHERE status = 'Updated'
AND
DATE_ADD(dateModified, INTERVAL 1 WEEK) >= NOW();
答案 0 :(得分:1)
SELECT *
FROM TABLE_NAME
WHERE status = 'Updated'
AND DATE_FORMAT(dateModified, '%w') IN (0, 6)
AND DATE_ADD(dateModified, INTERVAL 1 WEEK) >= NOW();
请参阅 Official MySQL documentation了解更多信息。
答案 1 :(得分:0)
创建一个函数,如下所示:
system/library/cart.php
然后像这样查询:
CREATE FUNCTION TOTAL_WEEKDAYS(date1 DATE, date2 DATE)
RETURNS INT
RETURN ABS(DATEDIFF(date2, date1)) + 1
- ABS(DATEDIFF(ADDDATE(date2, INTERVAL 1 - DAYOFWEEK(date2) DAY),
ADDDATE(date1, INTERVAL 1 - DAYOFWEEK(date1) DAY))) / 7 * 2
- (DAYOFWEEK(IF(date1 < date2, date1, date2)) = 1)
- (DAYOFWEEK(IF(date1 > date2, date1, date2)) = 7);
像魅力一样!