【发布时间】:2015-08-22 11:01:02
【问题描述】:
我正在将数据导入 excel,因此我需要将日期视为 varchar 以用于 excel 中的图表,但我还需要一天中各个小时的数据。我的经理希望在检查我的图表时查看过去一小时的数据。到目前为止,这是我的代码。白班很好,但我无法让夜班超过 24 小时,所以我无法在我的 Excel 图表中对它们进行分组。
convert(VARCHAR, TimeStamp, 101) as date
,StationID as lane
,DATEPART(hh,TimeStamp)
,.185 as posSD1
,-.185 as negSD1
,.370 as posSD2
,-.370 as negSD2
,.556 as posSD3
,-.556 as negSD3
, COUNT (TrickleActual) as Count
, convert(decimal (18,3) ,AVG (TrickleActual - TrickleTarget)) as Average
FROM CherryBoxInfo
WHERE TimeStamp >= '2015-05-01' -- '2015-05-01 18:30:00'
and TimeStamp between convert(DATETIME, convert(VARCHAR, TimeStamp, 101) + ' ' + '19:00:00') and convert(DATETIME, convert(VARCHAR, DATEADD(day, 1, TimeStamp), 101) + ' ' + '04:30:00')
and (TrickleActual-TrickleTarget) BETWEEN -1 and 1
GROUP BY
convert(VARCHAR, TimeStamp, 101)
,StationID
,DATEPART(hh,TimeStamp)
ORDER BY convert(VARCHAR, TimeStamp, 101)
,StationID
,DATEPART(hh,TimeStamp)
【问题讨论】:
-
始终标记正确的 dbms..也是您期望的输出和示例数据
标签: sql sql-server excel tsql