计算一个时间在一个日期范围内出现的次数

大卫·H

如果已经问过这个问题,我想不出一个好方法来表达这个问题以正确搜索。

我正在 SQL 2008 R2 中寻找一种方法来计算两个日期时间值之间 6pm 发生的次数。

例如,在'2017-04-17 19:00:00''2017-04-19 17:00:00' 之间,即使时间跨越 3 天,下午 6 点也只会发生一次。

“2017-04-17 18:00:00”“2017-04-19 18:00:00”之间,它发生了 3 次,同时也跨越了 3 天。

这是我想要的插图的一个非常愚蠢的表达。

timecount(hh, 6, min(datefield), max(datefield))

谢谢

三伏

一个简单的计数查询:

DECLARE @StartDate datetime = '2017-04-17 18:00:00'

DECLARE @EndDate datetime = '2017-04-19 18:00:00'

SELECT 
   CASE 
      WHEN CAST(@StartDate AS time) <= '18:00' AND CAST(@EndDate AS time) >= '18:00' 
             THEN datediff(day, @StartDate, @EndDate) + 1
      WHEN CAST(@StartDate AS time) <= '18:00' AND CAST(@EndDate AS time) < '18:00' 
             THEN datediff(day, @StartDate, @EndDate)      
      WHEN CAST(@StartDate AS time) > '18:00' AND CAST(@EndDate AS time) >= '18:00' 
             THEN datediff(day, @StartDate, @EndDate)
      ELSE datediff(day, @StartDate, @EndDate) - 1
   END AS TotalCount

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在一个时间范围内按多列查找重复的行

选择每个日期的最后一个时间戳

检查LocalDateTime是否在一个时间范围内

将时间范围列表中的所有项目计数为一个时间范围

SQL查询以获取在一个时间范围内包含多个实例的值

如何计算范围内的值出现在一个范围内(不包括其他范围)的次数

熊猫将一个df中的日期与另一个时间范围中的日期进行匹配,然后按分组总和

多次出现时替换一个时间序列中的一个值

如何修改数据以在另一个时间的特定范围内删除ID

SQL获取一个时间范围内的所有值-以及之前的值

如何安排Windows任务在一个时间范围内每天重复?

比较时间:检查给定时间是否在另一个时间范围内

检查一个时间范围是否进入另一个时间范围

避免循环:在一个时间范围内定义动作块

确定一个时间范围内SQL代理的预期运行时间

编写公式以计算每个日期在一组日期范围内出现的次数

将一个时间范围缩小到另一个时间范围的算法

Spark 1.5.2:在一个时间范围内对DataFrame行进行分组

每月进行计数-在一个列范围内出现一个数字(1/2/3)的次数

如何设计一个表,记录一个时间范围内的客户状态?

计算一个类在特定出现之前出现的次数

有没有办法让 worksheetfunction.randbetween 在一个时间范围内工作?

是否有一个 Excel 公式可以返回一个时间范围内的日历月数?

输入多个时间范围然后返回所有另一个时间范围

在当前时间范围内绘制另一个时间范围内的指标

在 R 中测试 case 是否在一个时间范围内和一个唯一的 ID

Django仅在一个范围内根据月份和日期过滤日期时间

RXJS 显示一个时间范围内的累计结果

计算日期范围内出现的次数