返回顶部
首页 > 资讯 > 数据库 >SQL中怎么计算工作日
  • 347
分享到

SQL中怎么计算工作日

2024-04-02 19:04:59 347人浏览 薄情痞子
摘要

sql中怎么计算工作日,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 CREATE FUNCTioN Time_Span_of_minu

sql中怎么计算工作日,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

CREATE FUNCTioN Time_Span_of_minutes(  

start_day DATETIME,  

end_day DATETIME)  

RETURNS FLOAT 

BEGIN 

            -- 返回按分钟计算两段时间的间隔,采用逐日靠近的方法求解,一天按8小时480分钟计算,周末不计,不考虑法定节假日。  

            -- 如果起始日期在周末,则计算当天时间。  

            DECLARE minutes FLOAT;   

            DECLARE next_day DATETIME;  

            SET minutes=0.0;  

            SET next_day=start_day;  

            IF(TIMESTAMPDIFF(DAY,start_day,end_day)<1.0) THEN 

                    SET minutes=minutes+TIMESTAMPDIFF(MINUTE,start_day,end_day);  

            ELSE 

                    WHILE TIMESTAMPDIFF(DAY,next_day,end_day)>=1.0 DO  

                            IF ((DAYOFWEEK(next_day)=7) OR (DAYOFWEEK(next_day)=1)) THEN 

                                    SET next_day=next_day+INTERVAL 1 DAY;  

                            ELSE 

                                    SET next_day=next_day+INTERVAL 1 DAY;  

                                    SET minutes=minutes+480.0;  

                            END IF;  

                    END WHILE;  

                    SET minutes=minutes+TIMESTAMPDIFF(MINUTE,next_day,end_day);  

                    IF ((DAYOFWEEK(start_day)=7) OR (DAYOFWEEK(start_day)=1)) THEN 

                            SET minutes=minutes+TIMESTAMPDIFF(MINUTE,start_day,CONVERT(CONCAT(SUBSTRING(start_day FROM 1 FOR 10),' 17:30:00'),DATETIME));  

                    END IF;  

            END IF;  

            RETURN minutes;  

END; 

CREATE FUNCTION Time_Span_of_minutes(

start_day DATETIME,

end_day DATETIME)

RETURNS FLOAT

BEGIN

                     -- 返回按分钟计算两段时间的间隔,采用逐日靠近的方法求解,一天按8小时480分钟计算,周末不计,不考虑法定节假日。

                     -- 如果起始日期在周末,则计算当天时间。

                     DECLARE minutes FLOAT;

                     DECLARE next_day DATETIME;

                     SET minutes=0.0;

                     SET next_day=start_day;

                     IF(TIMESTAMPDIFF(DAY,start_day,end_day)<1.0) THEN

                                   SET minutes=minutes+TIMESTAMPDIFF(MINUTE,start_day,end_day);

                     ELSE

                                   WHILE TIMESTAMPDIFF(DAY,next_day,end_day)>=1.0 DO

                                                 IF ((DAYOFWEEK(next_day)=7) OR (DAYOFWEEK(next_day)=1)) THEN

                                                               SET next_day=next_day+INTERVAL 1 DAY;

                                                 ELSE

                                                               SET next_day=next_day+INTERVAL 1 DAY;

                                                               SET minutes=minutes+480.0;

                                                 END IF;

                                   END WHILE;

                                   SET minutes=minutes+TIMESTAMPDIFF(MINUTE,next_day,end_day);

                                   IF ((DAYOFWEEK(start_day)=7) OR (DAYOFWEEK(start_day)=1)) THEN

                                                 SET minutes=minutes+TIMESTAMPDIFF(MINUTE,start_day,CONVERT(CONCAT(SUBSTRING(start_day FROM 1 FOR 10),' 17:30:00'),DATETIME));

                                   END IF;

                     END IF;

                     RETURN minutes;

END;

关于SQL中怎么计算工作日问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网数据库频道了解更多相关知识。

您可能感兴趣的文档:

--结束END--

本文标题: SQL中怎么计算工作日

本文链接: https://lsjlt.com/news/58588.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SQL中怎么计算工作日
    SQL中怎么计算工作日,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 CREATE FUNCTION Time_Span_of_minu...
    99+
    2024-04-02
  • SQL Server中怎么实现日期计算
    这篇文章将为大家详细讲解有关SQL Server中怎么实现日期计算,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。通常,你需要获得当前日期和计算一些其他的日期...
    99+
    2024-04-02
  • MSSQL中怎么计算两个日期相差的工作天数
    MSSQL中怎么计算两个日期相差的工作天数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。代码如下: if exists (s...
    99+
    2024-04-02
  • sql怎么计算日期相差月份
    在SQL中,可以使用DATEDIFF函数来计算两个日期之间的月份差异。具体语法如下:```sqlDATEDIFF(interval,...
    99+
    2023-10-11
    sql
  • win10怎么加入工作组计算机
    win10怎么加入工作组计算机?win10系统是有着其独特的管理功能的,我们可以通过创建工作组系统的方式,将复数个win10串联起来,大幅提升办公效率。我们在创建完工作组之后,只需要将需要串联的win10系统计算机加入就可以正常使用了,但是...
    99+
    2023-07-10
  • Python+SeaTable实现计算两个日期间的工作日天数
    目录在 SeaTable 表格上新建 Python 脚本思路代码总结当我们计算两个日期间的间隔天数时,通常是用结束日期减去开始日期,但在实际的项目管理、任务管理、工作计划等场景中,某...
    99+
    2024-04-02
  • 用SQL只统计工作日数据的方法步骤
    本篇内容主要讲解“用SQL只统计工作日数据的方法步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“用SQL只统计工作日数据的方法步骤”吧!题目求解员工“张三”工...
    99+
    2024-04-02
  • 在工作中保护计算机的安全
    在工作中保护计算机的安全非常重要,以下是一些常见的做法:1. 使用强密码:为所有账户,包括操作系统登录、电子邮件和各种应用程序设置强...
    99+
    2023-09-14
    计算机
  • Java如何计算两个时间段内的工作日天数
    目录计算两个时间段内的工作日天数这种有两种方式可以解决实现的大概原理就是计算两个日期之间的周末天数计算两个时间段内的工作日天数 一般在OA系统中都会遇到计算员工这段时间内的工作天数。...
    99+
    2024-04-02
  • 怎么用批处理程序修改计算机名、工作组、计算机描述
    这篇文章给大家分享的是有关怎么用批处理程序修改计算机名、工作组、计算机描述的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码如下:@echo off echo 骏龙包装计算机名称、计算机描述、工作组修改批处理程序...
    99+
    2023-06-08
  • SQL怎么计算每个分组的中位数
    这篇文章主要为大家分析了SQL怎么计算每个分组的中位数的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“SQL怎么计算每个分组的中位数”的知识吧。中位数是指一组...
    99+
    2023-06-03
  • 计算机内存的工作原理是什么
    计算机内存的工作原理是:内存寻址内存可以从CPU获得查找某个数据的指令,在找出存取资料的位置,其会先定出横坐标,在定出纵坐标。内存传输当储存资料或从内存内部读取资料时,CPU会通过地址总线将地址送到内存,后由数据总线将对应的数据传输到微处理...
    99+
    2024-04-02
  • SQL SERVER中怎么实现日志收缩操作
    这篇文章将为大家详细讲解有关SQL SERVER中怎么实现日志收缩操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。第一步:右键数据库属性第二步:更改数据库...
    99+
    2024-04-02
  • SQL Server中怎么计算列是否占用空间
    SQL Server中怎么计算列是否占用空间,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。今天看网上有个问题:SQL Server计算列是否占...
    99+
    2024-04-02
  • 创建SQL函数计算员工加班时间
    你好,韩老师有个问题请教。我想通过秒计算加班时间。规则为:加班满4小时才算加班,加班时间满8小时为加班一天,加班时间不足4小时不算加班,加班时间大于4小时小于8小时为0.5个加班。我写了一个自定义函数计算但...
    99+
    2024-04-02
  • jquery中如何计算日期差
    在jquery中计算日期差的方法:1.新建html项目,引入jquery;2.使用new Date()方法定义日期;3.对日期进行相减;4.使用floor函数计算日期差;具体步骤如下:首先,新建一个html项目,并在项目中引入jquery;...
    99+
    2024-04-02
  • 怎么在postgresql中计算两个日期的时间差
    在postgresql中计算两个日期时间差的方法:1.启动postgresql服务;2.登录postgresql数据库;3.使用数据库;4.在数据库新建表;5.使用date_part()函数计算时间差;具体步骤如下:首先,在命令行中启动po...
    99+
    2024-04-02
  • Vue怎么使用Dayjs计算常用日期
    小编给大家分享一下Vue怎么使用Dayjs计算常用日期,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在使用vue开发项目时,前端常常需要计算一些日期时间,如:计算...
    99+
    2023-06-08
  • 怎么用PHP计算日期差几个月
    这篇文章主要讲解了“怎么用PHP计算日期差几个月”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用PHP计算日期差几个月”吧!方法一:最简单的方法是使用PHP内置的日期函数,其中strto...
    99+
    2023-07-05
  • 现代计算机的基本工作原理是什么
    现代计算机的基本工作原理是基于数值计算和逻辑运算的,通过硬件和软件的协同工作,实现了数据的存储、处理和输出。计算机的工作原理涉及到指令的执行、数据的传输和存储器的层次结构等方面,这些原理的理解和应用,是程序员进行软件开发和系统维护的基础。本...
    99+
    2023-08-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作