id、startDateTime、endDateTimeで設定されたテーブルをクエリしようとしています。行1が次のようになっているとしましょう。
id startDateTime endDateTime
100 2/9/2012 20:55 3/21/2012 10:43
上記の範囲内のすべての日数を明確にカウントするように、上記を照会する必要があります。2/9から3/21までの42の固有の暦日があるため、私の期待される結果は上記の42になります。タイムピースを見るとDatediffは私に41日を与えます。これを機能させるためにdatediffとtimediffのさまざまな反復を試しましたが、すべてのシナリオで機能するものを見つけることができません。これをSQLでどのように実行できるかについての提案はありますか?
以下に示すようなクエリから始めました。
SELECT ConditionStatus.ID,
SUM((DATEDIFF(ConditionStatus.endDate,ConditionStatus.startDate))) AS Duration
WHERE ID = 100
私のクエリは技術的に正確な41の期間を返しますが、日付の範囲内のすべての日付が1のカウントを取得するように条件付けする必要があります
データウェアハウスで使用しているロジックを模倣しようとしています。このロジックでは、アクティビティが発生した日付ごとに1のカウントを保持しています。
ありがとう、ボブ