当前位置: 首页 > news >正文

mysql查询时间提前五天_MySQL查询不含周末的五天前的日期

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

专家回答:

对于许多跟商业日期有关的情况,最好的解决方案是使用日历表格。例如,使用办公时间(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

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

相关文章:

  • elasticsearch 嵌入式_3.JanusGraph+HBase+ElasticSearch配置
  • mysql数据库怎末导出函数_MySQL数据库之mysql 导入导出数据库以及函数、存储过程的介绍...
  • Mysql 数组放进表里_新人求大神教教:如何把一个一维数组存入mysql 表格中
  • rabbitmq支持两个消费者同时提取数据吗_认识RabbitMQ从这篇文章开始
  • 安装mysql什么版本号_Linux安装MySQL以及版本说明
  • mysql的checkpoint_mysql 之 checkpoint和LSN详解
  • asp.net 调mysql过程_asp.net c# java调用mysql存储过程方法
  • java和Mysql数据一致性_Redis缓存和MySQL数据一致性方案详解
  • mysql double 转string类型转换_String类型转化为double类型的问题
  • mysql数据库命令 单选_MySQL常用命令
  • 为什么a链接不起作用了_考前必读:原理题难点——最高点是平衡点?催化剂为什么能提高产率?...
  • python随机数比大小_Python实现基于权重的随机数2种方法
  • dao interface运用_简单DAO层示例
  • python爬虫框架论文开题报告范文_基于Web爬虫系统设计开题报告
  • mysql中查询数字字符串很慢_mysql获取字符串中数字的查询语句
  • 分享一款快速APP功能测试工具
  • [译]如何构建服务器端web组件,为何要构建?
  • 【5+】跨webview多页面 触发事件(二)
  • Druid 在有赞的实践
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • Facebook AccountKit 接入的坑点
  • flutter的key在widget list的作用以及必要性
  • github指令
  • leetcode98. Validate Binary Search Tree
  • markdown编辑器简评
  • Mocha测试初探
  • MySQL主从复制读写分离及奇怪的问题
  • OSS Web直传 (文件图片)
  • python学习笔记-类对象的信息
  • Spark学习笔记之相关记录
  • Twitter赢在开放,三年创造奇迹
  • Zsh 开发指南(第十四篇 文件读写)
  • 给github项目添加CI badge
  • 构造函数(constructor)与原型链(prototype)关系
  • 记录一下第一次使用npm
  • 利用DataURL技术在网页上显示图片
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 我有几个粽子,和一个故事
  • 追踪解析 FutureTask 源码
  • 自定义函数
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 数据库巡检项
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • ###C语言程序设计-----C语言学习(3)#
  • #{} 和 ${}区别
  • #13 yum、编译安装与sed命令的使用
  • #HarmonyOS:软件安装window和mac预览Hello World
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • $L^p$ 调和函数恒为零
  • $refs 、$nextTic、动态组件、name的使用
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序