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

mysql 当前时间加3个工作日

1. 问题描述:

在日常工作中可能会遇到计算工作日的情况

2. 解决过程

(1) 首先制作一个假日表 holiday_config

CREATE TABLE `holiday_config` (`id` int(10) NOT NULL AUTO_INCREMENT,`holiday` varchar(8) DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC

其中id 为主键自增,holiday 为假期 格式为 '%Y-%m-%d' 

工作日:即不在 holiday_config 表中的数据

a. 增加的三天是否为假日,可能出现的情况有一下四种

        情况1 :  如果无假日,则直接在原数据的基础上加三天即可,使用date_add(now(),interval 3 DAY);

        情况2:   增加的三天存在假日且小于3 那么直接用  date_add(now(),interval 3+(小于3的数) DAY);   

        情况3:  增加的三天存在假日且等于3 那么直接用  date_add(now(),interval 3+3 DAY);   

        情况4:  增加的三天存在假日且大于3 那么直接用  date_add(now(),interval 3+(大于3的数) DAY);

b. 如何获取范围内的假日数

假日数小于3 的情况

(SELECT COUNT(1)
         FROM holiday_config
         WHERE holiday BETWEEN now() AND DATE_ADD(now(), INTERVAL 3 DAY)
 )

大于3 的情况可能有多种,目前只考虑连续假日小于等于10 的情况(具体看下方脚本)

(2) 最终结果

SELECTDATE_ADD(now(),INTERVAL 3 +case when   (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now(),INTERVAL 1 DAY) AND DATE_ADD(now(), INTERVAL 3 DAY))<3then (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now(),INTERVAL 1 DAY) AND DATE_ADD(now(), INTERVAL 3 DAY))when (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now(),INTERVAL 1 DAY) AND DATE_ADD(now(), INTERVAL 4 DAY))<4then (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now(),INTERVAL 1 DAY) AND DATE_ADD(now(), INTERVAL 4 DAY))when (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now() AND DATE_ADD(now(), INTERVAL 5 DAY))<5then (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now(),INTERVAL 1 DAY) AND DATE_ADD(now(), INTERVAL 5 DAY))when (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now(),INTERVAL 1 DAY) AND DATE_ADD(now(), INTERVAL 6 DAY))<6then (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now(),INTERVAL 1 DAY) AND DATE_ADD(now(), INTERVAL 6 DAY))when (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now(),INTERVAL 1 DAY) AND DATE_ADD(now(), INTERVAL 7 DAY))<7then (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now(),INTERVAL 1 DAY) AND DATE_ADD(now(), INTERVAL 7 DAY))when (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now(),INTERVAL 1 DAY) AND DATE_ADD(now(), INTERVAL 8 DAY))<8then (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now(),INTERVAL 1 DAY) AND DATE_ADD(now(), INTERVAL 8 DAY))when (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now(),INTERVAL 1 DAY) AND DATE_ADD(now(), INTERVAL 9 DAY))<9then (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now(),INTERVAL 1 DAY) AND DATE_ADD(now(), INTERVAL 9 DAY))when (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now(),INTERVAL 1 DAY) AND DATE_ADD(now(), INTERVAL 10 DAY))<10then (SELECT COUNT(1)FROM holiday_configWHERE holiday BETWEEN DATE_ADD(now(),INTERVAL 1 DAY) AND DATE_ADD(now(), INTERVAL 10 DAY))endDAY) AS target_date;

3. 备注

目前只考虑连续假日小于等于10 的情况,如有问题请联系。

相关文章:

mysql 当前时间加3个工作日

1. 问题描述&#xff1a; 在日常工作中可能会遇到计算工作日的情况 2. 解决过程 (1) 首先制作一个假日表 holiday_config CREATE TABLE holiday_config (id int(10) NOT NULL AUTO_INCREMENT,holiday varchar(8) DEFAULT NULL,PRIMARY KEY (id) USING BTREE ) ENGINEInnoDB…...

2023年11月国产数据库大事记-墨天轮

本文为墨天轮社区整理的2023年11月国产数据库大事件和重要产品发布消息。 11月国产数据库大事记 TOP10 11月国产数据库大事记&#xff08;时间线&#xff09; 11月1日消息&#xff0c;近日&#xff0c;由金仓数据库支撑的某大型运营商B域一级BOSS枢纽系统顺利升级上线。金仓数…...

第二十八章 控制到 XML 模式的映射 - 流类到 XML 类型的映射

文章目录 第二十八章 控制到 XML 模式的映射 - 流类到 XML 类型的映射将集合属性映射到 XML 模式 第二十八章 控制到 XML 模式的映射 - 流类到 XML 类型的映射 如果类或属性基于流&#xff0c;则它将投影为 XML 类型&#xff0c;如下表所示&#xff1a; IRIS 流的 XML 类型 …...

GO EASY 游戏框架 之 GRPC 扩展篇 04

1 Overview 此章节是对第三章的一个补充。同样属于RPC的篇章。是专门为了类似游戏服务这种需要指定RPC服务端具体地址&#xff0c;也就是具体是哪台机器的某应用进程&#xff0c;通信的方式。笔者简单的封装了下保证基本的服务稳定&#xff0c;且具备服务发现的属性即可&#…...

【JavaScript】JavaScript中的GC算法

1、内存管理 内存&#xff1a;由可读写单元组成&#xff0c;标识一片可操作的空间 管理&#xff1a; 认为的去操作一篇空间的申请、使用和释放 内存管理&#xff1a;开发者主动申请空间、使用空间、释放空间 管理流程&#xff1a; 申请-使用-释放 // 申请 let obj {} //使…...

从互联网到云计算再到 AI 原生,百度智能云数据库的演进

1 数据库行业发展概述 如果说今年科技圈什么最火&#xff0c;我估计大家会毫不犹豫选择 ChatGPT。ChatGPT 是 2022 年 11 月 30 日由 OpenAI 发布的聊天应用。它创造了有史以来用户增长最快的纪录&#xff1a;自 11 月 30 日发布起&#xff0c;5 天就拥有了 100 万活跃用户…...

C# | CountdownEvent使用教程 (通过与ManualResetEvent对比,快速了解其特性)

C# CountdownEvent使用教程 对于熟悉ManualResetEvent的同学来说&#xff0c;了解CountdownEvent的差异对于更好地利用它们是非常重要的。通过对ManualResetEvent和CountdownEvent的对比&#xff0c;我们可以更好地理解CountdownEvent的特点和使用场景。 ManualResetEvent回顾…...

2、LLVM 函数名称加密 及3种PASS的实现

sudo usermod -a -G vboxsf nowind nowind是你的虚拟机登录的用户名解决virtualbox 虚拟机共享文件夹不能使用的问题 第一种&#xff1a;源码内实现pass&#xff1a; 实现EncodeFunctionName 的pass&#xff0c;核心代码如下 相关文件的修改&#xff1a; 因为后面同样用到…...

Python网络爬虫的基础理解-对应的自我理解误区

##通过一个中国大学大学排名爬虫的示例进行基础性理解 以软科中国最好大学排名为分析对象&#xff0c;基于requests库和bs4库编写爬虫程序&#xff0c;对2015年至2019年间的中国大学排名数据进行爬取&#xff1a;&#xff08;1&#xff09;按照排名先后顺序输出不同年份的前10…...

基于ssm的家庭财务管理系统设计与实现论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本家庭财务管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息…...

前端知识(八)———前端需要掌握的技术有哪些方面

前端开发需要掌握的技术包括以下几个方面&#xff1a; 1.HTML&#xff1a;HTML是网页的基础骨架&#xff0c;是网页内容的载体&#xff0c;负责网页内容的排列和布局。 2.CSS&#xff1a;CSS是网页的样式表&#xff0c;负责网页的外观和样式。 一般情况下HTMLCSS是在一起使用…...

【九】spring、springmvc、springboot、springcloud

spring、springmvc 、springboot 、springcloud 简介 从事IT这么些年&#xff0c;经历了行业技术的更迭&#xff0c;各行各业都会有事务更新&#xff0c;IT行业技术更迭速度快的特点尤为突出&#xff0c;或许这也是从事这个行业的压力所在&#xff0c;但另一方面反应了这个行业…...

Core Web Vitals 是排名因素吗?

Core Web Vitals 会影响您的自然搜索排名吗&#xff1f;在本文中&#xff0c;我们将研究索赔、证据和判决。 Core Web Vitals 衡量页面体验信号&#xff0c;以确保为搜索用户提供引人入胜的用户体验。 但是 Core Web Vitals 会影响您的自然搜索排名吗&#xff1f; 声明&…...

“蒙企通”线上平台升级 助力内蒙古自治区民营经济发展

为进一步落实《中共中央、国务院关于促进民营经济发展壮大的意见》和内蒙古自治区党委、政府《关于进一步支持民营经济高质量发展的若干措施》&#xff0c;内蒙古自治区发展改革委联合自治区工商联共同开展“自治区促进民营经济发展项目”&#xff0c;为民营经营主体拓展市场、…...

电商早报 | 12月13日| 2023胡润男企业家榜发布:黄铮位于第三

2023胡润男企业家榜发布&#xff1a;拼多多创始人跻身前三 12月12日消息&#xff0c;胡润研究院发布《2023胡润男企业家榜》&#xff0c;列出了胡润百富榜中前50名中国男性企业家&#xff0c;总财富6.37万亿元&#xff0c;上榜门槛640亿元。 这是胡润研究院首次发布“男企业家…...

Terraform实战(二)-terraform创建阿里云资源

1 初始化环境 1.1 创建初始文件夹 $ cd /data $ mkdir terraform $ mkdir aliyun terraform作为terraform的配置文件夹&#xff0c;内部的每一个.tf&#xff0c;.tfvars文件都会被加载。 1.2 配置provider 创建providers.tf文件&#xff0c;配置provider依赖。 provider…...

ELADMIN - 免费开源 admin 后台管理系统,基于 Spring Boot 和 Vue ,包含前端和后端源码

一款简单好用、功能强大的 admin 管理系统&#xff0c;包含前端和后端源码&#xff0c;分享给大家。 ELADMIN 是一款基于 Spring Boot、Jpa 或 Mybatis-Plus、 Spring Security、Redis、Vue 的前后端分离的后台管理系统。 ELADMIN 的作者在 Github 和 Gitee 上看了很多的项目&…...

Centos安装docker显示 No Package Docker-Ce Available

安装docker 查看当前系统内核 查看方式 uname -r显示如下 [root@test ~]# uname -r 3.10.0-1127.19.1.el7.x86_64重要提示: docker内核版本必须是3.10+以上的版本 1、卸载老版本的 docker 及其相关依赖 yum remove docker docker-common container-selinux docker-selin…...

如何使用玻璃材质制作3D钻石模型

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xf…...

工具:Jupyter

Jupyter是一个开源的交互式计算环境&#xff0c;由Fernando Perez和Brian Granger于2014年创立。它提供了一种方便的方式来展示、共享和探索数据&#xff0c;并且可以与多种编程语言和数据格式进行交互。Jupyter的历史可以追溯到2001年&#xff0c;当时Fernando Perez正在使用P…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

uniapp 实现腾讯云IM群文件上传下载功能

UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中&#xff0c;群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS&#xff0c;在uniapp中实现&#xff1a; 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...

数据结构:递归的种类(Types of Recursion)

目录 尾递归&#xff08;Tail Recursion&#xff09; 什么是 Loop&#xff08;循环&#xff09;&#xff1f; 复杂度分析 头递归&#xff08;Head Recursion&#xff09; 树形递归&#xff08;Tree Recursion&#xff09; 线性递归&#xff08;Linear Recursion&#xff09;…...

【阅读笔记】MemOS: 大语言模型内存增强生成操作系统

核心速览 研究背景 ​​研究问题​​&#xff1a;这篇文章要解决的问题是当前大型语言模型&#xff08;LLMs&#xff09;在处理内存方面的局限性。LLMs虽然在语言感知和生成方面表现出色&#xff0c;但缺乏统一的、结构化的内存架构。现有的方法如检索增强生成&#xff08;RA…...