C# 查找SQL Server数据库中日期之间的差异(以小时为单位),并计算每天的总小时数

C# 查找SQL Server数据库中日期之间的差异(以小时为单位),并计算每天的总小时数,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我正在尝试根据我的项目要求对SQL Server数据库数据进行排序。我尝试了许多SQL查询来过滤数据,但都没有正常工作。请帮我完成这项工作 我有一个包含5列的数据库表:ProductName,StartDate,EndDate,UsageQuantity和Cost。startdate和enddate也是带时间的日期,如果减去它们,则相差一小时 同样,startdate和enddate的多个副本可用于一个月的全部数据。我需要的是找出一个特定产品每天的总使用量和成本,还想找出该产品使用的总小时数 有

我正在尝试根据我的项目要求对SQL Server数据库数据进行排序。我尝试了许多SQL查询来过滤数据,但都没有正常工作。请帮我完成这项工作

我有一个包含5列的数据库表:
ProductName
StartDate
EndDate
UsageQuantity
Cost
startdate
enddate
也是带时间的日期,如果减去它们,则相差一小时

同样,startdate和enddate的多个副本可用于一个月的全部数据。我需要的是找出一个特定产品每天的总使用量和成本,还想找出该产品使用的总小时数

有人能给我推荐sql查询或查找结果的代码片段吗

数据库中的日期如下所示

ProductName StartDate            EndDate              UsageQuantity Cost
 xyz        01-04-2015 00:00    01-04-2015 01:00         0.6258       .007
 sf         01-04-2015 00:00    01-04-2015 01:00
 de         01-04-2015 01:00    01-04-2015 02:00
df          01-04-2015 01:00    01-04-2015 02:00
            01-04-2015 02:00    01-04-2015 03:00
            01-04-2015 02:00    01-04-2015 03:00
            01-04-2015 03:00    01-04-2015 04:00
            01-04-2015 03:00    01-04-2015 04:00
            01-04-2015 04:00    01-04-2015 05:00
            01-04-2015 04:00    01-04-2015 05:00
            01-04-2015 05:00    01-04-2015 06:00
            01-04-2015 05:00    01-04-2015 06:00
            01-04-2015 06:00    01-04-2015 07:00
            01-04-2015 06:00    01-04-2015 07:00
请帮我把日期和时间分开,并计算每天的小时数


提前感谢

这是一个起点

SELECT SUM(TIMESTAMPDIFF(SECOND,StartDate, EndDate)), SUM(UsageQuantity), SUM(Cost)
FROM tablename
GROUP BY ProductName, Date(StartDate);

请展示您尝试过的内容,这有助于使问题更清楚,也可能有助于您从答案中看出您做错了什么。表中的
startdate
enddate
是什么数据类型?假设日期字段是日期,不是Strings应该除以3600将秒改为小时,但是我将把它留给你。嗨,paul,谢谢你分享这个查询。。我试过了。。但它提供了一个月的总数。我想知道数据库中每天有多少小时。
CREATE PROCEDURE GetDaysUsageForProduct
(
    @ProductName varchar(100),
    @DateUsed    datetime
)
AS
BEGIN

    SELECT @DateUsed DateUsed, 
           ProductName, 
           SUM(UsageQuantity) TotalQuantityUsed,
           SUM(DATEDIFF(hh, StartDate, EndDate) HoursUsed
           SUM(Cost) TotalCost
      FROM myTable
     WHERE CONVERT(varchar(10), StartDate, 112) =  CONVERT(varchar(10), @Date, 112)
       AND ProductName = @ProductName
      GROUP BY ProductName

END
GO