用于计算两个日期之间的百分比的SQL查询

时间:2015-03-18 10:55:53

标签: sql percentage date-difference

我想计算两个日期之间的百分比。下表显示了两天的计数值。日期正在读取两个文本框(txtStart和txtEnd)。

slNo  productName  count1  count2
....  ...........  .....   ......
1     A             50      20
2     B             30      39
3     C             20      23
4     D             15      34
5     E             18      45

我的查询:

SELECT  slNo  
        productName  
        count1, count2
        cast((count1* 100.0) / (DATEDIFF(day, @start, @end) * 250)) AS  
        Percentage1, cast((count2* 100.0) / (DATEDIFF(day, @start, @end) 
        * 250)) AS Percentage2 FROM  dbo.tblPercentage

使用上述查询时,我收到一个错误。错误是:"Incorrect parameter count in the call to native function 'DATEDIFF'"

如何获取日期差异并应用于上述sql查询。

每天250次计算为100%。上表显示两天计数。所以2 * 250被认为是100%。如果计算3天,那么它将是3 * 250。 所以帮我用sql查询计算百分比。谢谢

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,可能正在寻找这个

SELECT  slNo  
        productName  
        count, 
        cast(((DATEDIFF(day,'2014-08-05','2014-06-05') * 250.0) / 250) AS decimal(9, 3)) Percentage1 
FROM  dbo.tblPercentage

注意:您可以使用您从文本框中获取的startdate和enddate参数替换日期

DATEDIFF(day,@startdate,@enddate)