如何在除周末和假日之外的日期中添加日期

时间:2015-10-17 14:13:31

标签: mysql

如何在周末和假日之外添加天数(3天)?

示例:2015年10月16日(星期五)+ 3天= 2015年10月21日(星期三)

这是我的查询,但如何排除周末和假日?这可能吗?

INSERT INTO TEMPORARY(ISBN,title,author,First_Name,Last_Name,STATUS,DATE,Return_Date,UserID) 
VALUES (i,t,a,f,l,1,NOW(),NOW()+ INTERVAL 3 DAY,u);

1 个答案:

答案 0 :(得分:1)

目前尚不清楚您的确切目标是什么?

我的猜测NOW()工作日是:

Monday (+3) = Thursday
Tuesday (+3) = Friday
Wednesday (+5) = next Monday
Thursday (+5) = next Tuesday
Friday (+5) = next Wednesday
Saturday (+4) = next Wednesday ?
Sunday (+3) = next Wednesday ?

如果it is correct,您的查询可以转换为:

INSERT INTO TEMPORARY(ISBN,title,author,First_Name,Last_Name,STATUS,DATE,Return_Date,UserID) 
VALUES (i,t,a,f,l,1,NOW(),NOW()+ INTERVAL (IF(WEEKDAY(date1) IN (6,0,1),3,IF(WEEKDAY(date1) = 5,4,5))) DAY,u);

如果您需要查看其他假期并根据官方假期日历延长期限,我完全同意@GordonLinoff评论:您需要额外的表格以保留所有假期。但即使进行了这种改变,动态获取正确的日期也不是一件容易的事。

相关问题