日期范围的SQL每小时数据计算

泰德里奇

SQLSERVER 2012:

SQL查询返回24小时数据,其中小时从0-23开始。该查询正在处理的问题是,当您选择一个日期范围时,例如说“ 1-1-2014”和“ 1-2-2014”,该报告应获取上午9点至第二天8点之间的数据。

查询应计算我们选择的任何日期范围,但应仅选择第二天/月/年的上午9点到上午8点之间的小时数。

我的表结构/列在数据库中:ReadingDate小时:0-23数据1数据2数据3

输出

Date    |       Hours|         Data 1|       Data 2|     Data 3

sSelect = "Select P.ReadingDate,P.Hour,P.Data1,P.Data2,P.Data3 FROM Operations P WHERE P.ReadingDate = '" & startdate & "' AND P.Hour Between 9 AND 23 Group by P.ReadingDate,P.Hour,P.Data1,P.Data2,P.Data3
Union 
Select P.ReadingDate,P.Hour,P.Data1,P.Data2,P.Data3 FROM Operations P WHERE P.ReadingDate = '" & Enddate & " ' AND P.Hour Between 0 And 8 group by P.ReadingDate,P.Hour,P.Data1,P.Data2,P.Data3 "

2015-1-15 12:00 AM|      9| 1900|2000|300
2015-1-15 12:00 AM|     10|
2015-1-15 12:00 AM|     11|
2015-1-15 12:00 AM|     12|
2015-1-15 12:00 AM|     13|
2015-1-15 12:00 AM|     14|
2015-1-15 12:00 AM|     15|
2015-1-15 12:00 AM|     16|
2015-1-15 12:00 AM|     17|
2015-1-15 12:00 AM|     18|
2015-1-15 12:00 AM|     19|
2015-1-15 12:00 AM|     20|
2015-1-15 12:00 AM|     21|
2015-1-15 12:00 AM|     22|
2015-1-15 12:00 AM|     23|
2015-1-16 12:00 AM|      0|
2015-1-16 12:00 AM|      1|
2015-1-16 12:00 AM|      2|
2015-1-16 12:00 AM|      3|
2015-1-16 12:00 AM|      4|
2015-1-16 12:00 AM|      5|
2015-1-16 12:00 AM|      6|
2015-1-16 12:00 AM|      7|
2015-1-16 12:00 AM|      8|

我能够获取日期范围“ 1-1-2015”和“ 1-2-2015”的1天数据,但是如果我为月份“ 12-1-2014”到2014/12/31选择日期范围'它没有给我全部数据,而又给了我1天的数据。

理查德

这是考虑到SQL Server的:

DECLARE @BeginDate datetime = '2014-01-01';     --List only as a starting date; do not include the time
DECLARE @EndDate datetime = '2014-01-02';       --List only as a end date; do not include the time; should not be the same as @BeginDate;
                                                --Could change this to expect the same date, but will need to add a full day to @EndDate below in addition to hour
SET @BeginDate = DATEADD(HOUR, 9, @BeginDate);  --Sets the starting time at 9:00 AM per business rules
SET @EndDate = DATEADD(HOUR, 8, @EndDate);      --Sets the ending time at 8:00 AM per business rules

SELECT
    YourTable.ReadingDate,
    YourTable.Hours,
    YourTable.Data1,
    YourTable.Data2,
    YourTable.Data3
FROM
    YourTable
WHERE
    DATEADD(HOUR, YourTable.Hours, YourTable.ReadingDate) BETWEEN @BeginDate AND @EndDate;

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

日期范围的SQL每小时数据计算

来自分类Dev

计算日志文件中的每小时数据

来自分类Dev

绘制每小时数据

来自分类Dev

每小时数据透视表

来自分类Dev

如何使用SQL查询(MySQL)计算时间范围的小时数

来自分类Dev

SQL使用静态日期计算整夜的小时数

来自分类Dev

利用灵活的日期时间范围计算日期时间之间的小时数

来自分类Dev

熊猫数据框获取每日/每周/每小时数据

来自分类Dev

计算时间范围内的小时数

来自分类Dev

将五年中的每小时数据帧填充24小时数据

来自分类Dev

如何从python中的df中提取每小时数据?

来自分类Dev

从每小时数据获取每月最大值

来自分类Dev

如何平均两天内的每小时数据

来自分类Dev

使用Series.plot()绘制每小时数据

来自分类Dev

时间序列每小时数据格式

来自分类Dev

对于每小时数据,获取每天的最大值

来自分类Dev

带有熊猫的DataFrame中的每小时数据

来自分类Dev

使用 pd.read_csv() 读取每小时数据

来自分类Dev

SQL语句计算每小时金额

来自分类Dev

计算日期范围和给定时间限制内的小时数

来自分类Dev

计算给定时间范围内两个日期时间之间的小时数

来自分类Dev

如何将每小时数据转换为半小时

来自分类Dev

如何从R中的每小时数据中选择每天一小时?

来自分类Dev

每小时分组需要与以前的小时数据相加,并与SQL Server中的另一个字段相减

来自分类Dev

R-将“%d /%m /%Y%H:%M”格式的每小时数据转换为“%d /%m /%Y%H:%M:%S”,日期为as.POSIXct加工

来自分类Dev

找到一个更优雅的方法是使用动物园将每小时数据汇总为平均每小时数据

来自分类Dev

从 2 个重叠的日期时间范围获取小时数

来自分类Dev

在 Python 中获取日期时间范围之间的小时数

来自分类Dev

PHP根据总小时数设置日期范围

Related 相关文章

  1. 1

    日期范围的SQL每小时数据计算

  2. 2

    计算日志文件中的每小时数据

  3. 3

    绘制每小时数据

  4. 4

    每小时数据透视表

  5. 5

    如何使用SQL查询(MySQL)计算时间范围的小时数

  6. 6

    SQL使用静态日期计算整夜的小时数

  7. 7

    利用灵活的日期时间范围计算日期时间之间的小时数

  8. 8

    熊猫数据框获取每日/每周/每小时数据

  9. 9

    计算时间范围内的小时数

  10. 10

    将五年中的每小时数据帧填充24小时数据

  11. 11

    如何从python中的df中提取每小时数据?

  12. 12

    从每小时数据获取每月最大值

  13. 13

    如何平均两天内的每小时数据

  14. 14

    使用Series.plot()绘制每小时数据

  15. 15

    时间序列每小时数据格式

  16. 16

    对于每小时数据,获取每天的最大值

  17. 17

    带有熊猫的DataFrame中的每小时数据

  18. 18

    使用 pd.read_csv() 读取每小时数据

  19. 19

    SQL语句计算每小时金额

  20. 20

    计算日期范围和给定时间限制内的小时数

  21. 21

    计算给定时间范围内两个日期时间之间的小时数

  22. 22

    如何将每小时数据转换为半小时

  23. 23

    如何从R中的每小时数据中选择每天一小时?

  24. 24

    每小时分组需要与以前的小时数据相加,并与SQL Server中的另一个字段相减

  25. 25

    R-将“%d /%m /%Y%H:%M”格式的每小时数据转换为“%d /%m /%Y%H:%M:%S”,日期为as.POSIXct加工

  26. 26

    找到一个更优雅的方法是使用动物园将每小时数据汇总为平均每小时数据

  27. 27

    从 2 个重叠的日期时间范围获取小时数

  28. 28

    在 Python 中获取日期时间范围之间的小时数

  29. 29

    PHP根据总小时数设置日期范围

热门标签

归档