您当前位置:优侠库 > 资讯攻略 >
来源:未知
2020-08-03 22:00:36 浏览: 分类:资讯攻略

MySQL查询不含周末的五天前的日期

我需要检查五天后的日期。按照商业习惯,这五天应该不包括周六周日。

专家回答:

对于许多与业务日期相关的情况,最好的解决方案是使用日历表。例如,使用办公时间(2001年5月22日)来查询两个日期之间的时差。

我们知道,在这个例子中,假期将不被计算在内。很难理解为什么假期不算,周末算。但是既然假期不算,我们可以套用一个公式。为了开发这个公式,让我们首先探索所有的可能性。

如果今天是星期一,那么,往回算,我们跳过星期天和星期六,星期五是一天前,星期四是两天前,以此类推,那么“五天前”就是上周一。这里的“五天前”是指排除周末,得到我们想要的日期,而不是真正字面意义上的五天前。我们可以从备忘录中看出区别。

如果今天是星期二,往回算,星期一是一天前,跳过星期天和星期六,星期五是两天前,星期四是三天前,以此类推,那么“五天前”就是上星期二。

这种模式& mdash& mdash"五天前“上周(第X周)的同一天& mdash& mdash可以一直重复到周三周四周五。

到周六,这种模式将无法使用。五天前的星期六是星期一。周日,因为不算周六,五天前就是周一了。

将我们的讨论结果总结为以下数据:

MySQL查询不含周末的五天前的日期

为了得到“五天前”的日期,从今天减去的总天数(包括周末)显示在右栏中。

让我们对一周中的每一天进行编号,周日= 1,周一= 2,以此类推,直到周六= 7。将这些天的序号排在要减去的天数之前,我们会得到以下数据:

如果今天是

weekdaysubtract

星期一

27

星期二

37Wednesday47

星期四

57

星期五

67

星期六

75

在星期日

16

公式如下:

减去= 7 - 2*(工作日/7) +(工作日-2)/7

记住,这是为了得到“五天前”需要从今天减去的天数。在这个公式中,除法是整数除法(即向下舍入)。请不要问我这个公式是怎么发现的。反正是试错的结果。

如何将这个公式应用到SQL中呢?以下是使用mysql语法的示例:

以下为引用内容:select distinct
cust . fname
、cust.lname
、cust . phone
from orders aso
inner
jointcustomersacust
oncust . id = orders . cust _ id
where o . date _ ordered =
date _ sub(current _ date
、interval
7-2 * floor(day ofweek

该查询可以获得“五天前”下订单但货物尚未到达的客户的联系信息。

关键词:日期,周末,查询,我们,

优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。

本文链接:http://www.123down.cn/gonglue/227249.html

攻略资讯
安卓软件
安卓游戏