首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

工作日、工作小时的一种非常简单的计算方式

提前根据工作日、假期、工作时段等数据,将这些格子初始化。1是工作时间,0是非工作时间。时间的计算就退化为数格子数(自然小时)或者数值为1的格子数(工作小时) ?...1、根据开始时间计算期望完成时间 (1)1个自然日。从开始位置向后数24个格子 (2)5个工作小时。从开始位置向后数到第5个值为1的格子 (3)2个工作日。...从开始位置向后数到第20个值为1的格子(假设一天工作10小时) 2、根据开始时间和实际完成时间计算 (1)工作小时。计算这两个单元格间有几个为1的格子 (2)工作日。...计算这两个单元格之间有为1的格子数除以10(假设一天工作10小时) 三、工程实现 1、采用Java的ArrayList来保存时间轴(上一节的连续的单元格),保存1年的工作日历需要 365*24个元素空间...保存一个如下图的数据库表,似乎通过SQL也能完成类似的计算。 ?

1.5K20

SQL 计算中位数

笔者在 HackerRank 上的 SQL 编程挑战看到这题,这题有 96% 的提交成功率。实际上,使用 SQL 求中位数远远没那么简单。...解决方案 解决方案主要有两种,第一种方案是对数据按大小排序后找到居中的值,再求值的平均数;第二种解决方案计算出每个数与其它数的相对距离(两数相减,结果为正则作 1,结果为负作 0,相等是 0),再对位移的结果加和...对应的 SQL 实现: # 准备数据 WITH t AS (SELECT 3 AS num UNION ALL SELECT 6 UNION ALL SELECT 3 UNION ALL SELECT...比如“1,2,3,5,6,7”这组数据,计算 margin,结果如下: num margin ------ -------- 1 5 2 3...ON 1 = 1 GROUP BY a.num) SELECT AVG(num) FROM t1 WHERE equal >= margin 由于我们对数据做了笛卡尔积的操作,因此实际上计算出来的

1.7K10

函数计算 Python 连接 SQL

python 连接数据库通常要安装第三方模块,连接 MS SQL Server 需要安装 pymssql 。...函数计算的 runtime 运行时的目录是只读的,所以对于需要使用 apt-get 和 pip 安装依赖的场景,需要将依赖安装在代码目录而不是系统目录。...具体安装方法可以参考《函数计算安装依赖库方法小结》。而 pymssql 的老版本涉及到编译安装,比常见的二级制安装到本地目录略复杂一些。...下面的例子是基于函数计算 runtime python3.6 的,对于 python2.7 也进行了测试,同样适用。...小结 这是一份来迟的函数计算使用 sql server 数据库的配置文档。当前版本的 pymssql 已经不再需要源码安装了。但是 pip 源码包安装的方法,对于其他类似的场景也是适用的。

1.3K20

计算工作日,反正我从来没见过不需要处理特殊日期的!

经常有朋友问怎么计算两个日期间的工作日问题,本来,对于简单的计数问题,总不会复杂到什么程度,但是,对于这个问题,我通常会说,先确定你的工作日历表,也就是说,先定义好哪些算工作日,哪些算假期—...即反正周一到周五就是工作日,周六周日就是休息日,这种情况下,如果用Excel直接解,一个函数搞定: 然鹅,PQ里没有这样的函数,那该怎么办?...那么,如果有专门的假期表,该怎么算工作日?...这种情况下,一般来说,应该有一个参与计算的完整的日历表,其中标明了哪些是工作日,哪些是假期——对于很多比较完整的企业数据模型来说,这种完整的日历表应该是比较好的解决方案(如果没有,建议建一个)。...- 总结 - 在实际工作中关于日期及其相关计算的问题,通常都有很多特殊的情况需要处理,比如这个例子中的特殊假期,还有其他的如年假天数计算等等,每个企业都有自己特定的计算方法,大多数情况下都需要回到比较基础的算法来实现

81530

SQL计算的利器SPL

此外,还有涉及多数据库和非数据库的场景,也无法使用SQL完成计算任务,只能在外部完成。 这样,就要在应用程序中实现SQL计算任务。...SQL返回的数据一般都是结构化数据,那么好的SQL计算技术也要有方便的结构化数据对象,能够进一步计算和处理返回的数据;提供丰富的库函数,拥有不亚于SQL计算能力;最好还能支持循环和判断语法以实现流程控制...特别地,SQL计算技术要用在应用程序中,要易于被集成。 Java是重要的开发语言,但JDK提供的方法过于基础,虽然能实现SQL计算,但开发效率很低。...这些ORM技术的计算能力还远不如SQL,提供的计算函数非常有限,用Java硬写的现象仍然非常普遍。...比如: 时间类函数,日期增减:elapse(“2020-02-27”,5) //返回2020-03-03 星期几:day@w(“2020-02-27”) //返回5,即星期4 N个工作日之后的日期:workday

1K20
领券