我需要检查五天后的日期。按照商业习惯,这五天应该不包括周六周日。
专家回答:
对于许多与业务日期相关的情况,最好的解决方案是使用日历表。例如,使用办公时间(2001年5月22日)来查询两个日期之间的时差。
我们知道,在这个例子中,假期将不被计算在内。很难理解为什么假期不算,周末算。但是既然假期不算,我们可以套用一个公式。为了开发这个公式,让我们首先探索所有的可能性。
如果今天是星期一,那么,往回算,我们跳过星期天和星期六,星期五是一天前,星期四是两天前,以此类推,那么“五天前”就是上周一。这里的“五天前”是指排除周末,得到我们想要的日期,而不是真正字面意义上的五天前。我们可以从备忘录中看出区别。
如果今天是星期二,往回算,星期一是一天前,跳过星期天和星期六,星期五是两天前,星期四是三天前,以此类推,那么“五天前”就是上星期二。
这种模式& mdash& mdash"五天前“上周(第X周)的同一天& mdash& mdash可以一直重复到周三周四周五。
到周六,这种模式将无法使用。五天前的星期六是星期一。周日,因为不算周六,五天前就是周一了。
将我们的讨论结果总结为以下数据:
为了得到“五天前”的日期,从今天减去的总天数(包括周末)显示在右栏中。
让我们对一周中的每一天进行编号,周日= 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