首页 > 语言 > 关键词  > MySQL,日期,查询最新资讯  > 正文

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

2008-11-11 11:52 · 稿源:knowsky.com

我需要查询从现在算起五天前的日期。按照商业习惯,这五天应该不包含星期六和星期天。

专家回答:

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

我们知道在这个例子中,假日不会计算在内。很难明白为什么假日不被计算在内,但是周末却会被计算在内。但是既然假日不被计算在内,我们就可以应用一个公式。要开发这个公式,让我们首先探讨一下所有的可能性。

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

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

这个模式——“五天前”就是上一个星期的同一天(星期X)——可重复到星期三、星期四和星期五。

到了星期六,这个模式就不可用了。在星期六,五天前是星期一。在星期天,因为我们不计算星期六,五天前也是星期一。

把我们的讨论发现总结成如下数据:

要获得“五天前”的日期,从今天减去的总天数(包括周末)显示在右边列中。

我们给一个星期里的每一天排上序号,星期天(Sunday)=1,星期一(Monday)=2,如此类推,到星期六(Saturday)=7。把这些日子的序号排列在需要减去的天数前,我们会得到如下数据:

if today is

weekday subtract

Monday

2 7

Tuesday

3 7
Wednesday 4 7

Thursday

5 7

Friday

6 7

Saturday

7 5

Sunday

1 6

公式如下:

subtract = 7 - 2*(weekday/7) + (weekday-2)/7

记住,这是要获得“五天前”的日期而需要从今天减去的天数。在这个公式里,除法是整数除法(即下舍入)。请不要问我这个公式是怎么发现的,反正是试差法的成果。

我们要怎么把这个公式应用到SQL里呢?下面是一个运用MySQL句法的例子:

以下为引用的内容:

selectdistinct 
   cust.fname
  ,cust.lname
  ,cust.phone
 fromordersaso
inner
 joincustomersascust
  oncust.id=orders.cust_id
whereo.date_ordered=
   date_sub(current_date
       ,interval
   7-2*floor(dayofweek(current_date)/7)
    +floor((dayofweek(current_date)-2)/7)
          day)
 ando.date_shippedisnull

这个查询可以获得“五天前”下订单而货还没有运到的客户的联系方式。

举报

  • 相关推荐
  • 忆联 Docker+MySQL 流控方案:打造安全高效存储底座,释放 AI 极致性能

    文章探讨了在AI时代背景下,基于Docker部署MySQL数据库的高效解决方案。通过Docker容器化技术,MySQL实现了灵活部署、资源高效利用和稳定隔离性,成为AI应用的首选数据库方案。测试结果显示,采用PCIe5.0企业级SSD配合Namespace技术和QoS优化策略,能精准控制性能偏差在2%以内,在混合读写场景下更可控制在1%以内。该方案显著提升了存储资源管理效率,为AI应用提供稳定可靠的数据存储支持,同时降低企业TCO成本,推动数据价值释放。

  • 年仅28岁 利物浦前锋若塔因车祸去世:11天前刚完婚

    多家外媒报道,利物浦前锋迪奥戈若塔在西班牙遭遇车祸去世,年仅28岁。 报道称,事故发生在西班牙萨莫拉省A-52公路65公里处,靠近帕拉西奥斯德萨纳布里亚市。 当地时间本月3日凌晨,若塔与他26岁的弟弟安德烈若塔(葡甲佩纳菲耶尔球员)一同乘坐的兰博基尼失控偏离道路,随后起火燃烧,火势还蔓延至周边植被。 事故发生后,西班牙当地迅速出动了交通警察、消防队

  • 印度一家五口空难前留下最后自拍:失事前一家人拍了全家福

    一架从印度飞往英国的波音787型客机12日在起飞后不久坠毁,机上共有242人。 在飞机失事之前,有个五口之家在飞机上拍了张全家福,照片中的女子决定带着孩子们一起去英国和住在伦敦的丈夫团聚,不幸的是,这张充满快乐的合影成为这个家庭最后一张自拍照。 据报道,飞机坠毁地点位于艾哈迈达巴德机场附近的人口稠密地区,现场浓烟滚滚,艾哈迈达巴德是古吉拉特邦�

  • 水滴信用开放平台开放支持企业大数据MCP企业信息查询场景

    水滴信用企业大数据平台拥有覆盖全国3.7亿市场主体的企业信用图谱,提供1000+维度的企业数据查询服务。其核心功能包括:工商注册、股东出资、司法诉讼、经营异常等基础信息实时更新;深度风险扫描涵盖行政处罚、股权冻结等全面监控;商业能力洞察包含知识产权、招投标等实力评估;关系网络透视可穿透至最终自然人。平台已上线火山引擎COZE插件,调用量超8000万次,支持金融风控、供应链管理、政府监管等多场景应用,通过MCP技术实现数据智能融合与深度挖掘,推动企业信息查询从静态检索升级为动态智能洞察。

  • 《五金坦白局》专访至爱智家与NUOMI诺米五金的协同破卷之道

    诺米五金推出行业首创"终身质保"服务,通过与至爱智家等合作伙伴的深度协同,重塑高端五金品质体验。其优势在于:1)完善的一体化产品体系,提供全屋五金解决方案;2)强大的联合研发能力,每年开展市场调研与产品共创;3)精细化服务支撑,按订单需求精准配送五金件至工厂;4)国际化协同效应,产品具备全球领先性。该服务通过提升售后保障、降低隐性成本,增强了行业信心与品牌合力,为定制企业提供签单转化助力,推动行业向高质量发展迈进。

  • 日本末世预言剩1天 民众晒末世预言最后一天计划

    距离7月5日仅剩1天时间,日本是否会发生超级大地震成为网络热议焦点,相关话题引发了众多网友的担忧与关注。 此次恐慌的源头是一本1999年出版的漫画《我所看见的未来》,其作者竜树谅曾在书中做出惊人“预测”,称2011年日本将发生311大地震,届时日本三分之一国土会沉入海底。而书中关于2025年7月的内容更是引发轩然大波,书中提到该月将发生海底爆炸并引发海啸,

  • 今年三伏天10年难遇 有啥讲究:只有30天

    最近全国各地天气都非常炎热,甚至桑拿天都席卷了华北地区。 然而需要注意的是,目前还没有真正入伏”,还没有到夏天最热的时间段。 据悉,今年三伏天7月20日入伏,8月18日出伏,共计30天。

  • 台风来临前 厦门出现魔幻朝霞 网友:火烧云美哭了

    ​随着今年第4号台风“丹娜丝”由强热带风暴级加强为台风级,福建厦门的天空意外呈现出一场震撼人心的自然奇景。朝霞如橙红色岩浆般顺着云层倾泻而下,将天际线染成绚烂画卷;海面波光粼粼,碎金般的浪花不断拍打沙滩,连细沙都被映照成温暖的琥珀色,整座城市仿佛被笼罩在梦幻光影之中。 目击者描述,这场朝霞的独特之处在于其“矛盾的诗意”——东边天际的霞�

  • 男子高温天跑步患上热射病昏迷2天:烧到40度人差点无了

    近来全国不少地区迎来了高温天气,酷暑难耐,中暑情况增多,而严重中暑则有可能变成热射病,如果救治不及时,可能会丧命! 近日,郑州一男子高温天锻炼跑步几公里后昏迷,体温高达40℃,医生紧急降温,两天后才脱险。 热射病是重度中暑的一种(还有热痉挛、热衰竭),也是最严重的,会引发中枢神经系统、肌肉组织、凝血功能、肝肾功能、

  • 北大教授建议工作日减少到三天或两天:便于更好消费

    近日北京大学教授黄益平表示,建议工作日减少到三天或两天,这样可以更好的去消费。 北京大学教授黄益平表示,老龄化导致劳动供给减少,理论上消费需求也会相应减少。但如果消费跟不上,生产就会陷入过剩产能的困境。