0

2 つの日付のパーセンテージを計算したい。以下の表は、2 日間カウントの値を示しています。日付は 2 つのテキスト ボックス (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

上記のクエリを使用すると、1 つのエラーが発生します。エラーは次のとおりです。"Incorrect parameter count in the call to native function 'DATEDIFF'"

日付の違いを取得して上記のSQLクエリに適用するにはどうすればよいですか。

1 日 250 回を 100% として計算します。上記の表は、2 日間のカウントを示しています。したがって、2*250 は 100% と見なされます。3 日を数える場合、3*250 になります。SQLクエリを使用してパーセンテージを計算するのを手伝ってください。ありがとうございました

4

1 に答える 1

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)
于 2015-03-18T11:18:57.010 に答える