1

こんにちは、レポートの SQL クエリを作成しています。このレポートでは、午前 8 時以降にその日に入ってきた見込み客の数を確認できます。レポートは毎時間送信されるように設定されているため、たとえば、午前 8 時のレポートには午前 7 時から午前 8 時までに発生した見込み客が表示され、午前 9 時のレポートには午前 7 時から午前 9 時までの午前 10 時と午前 7 時から午前 10 時までの午前 10 時などが表示されます。誰かが節に入れる時間関数を私に提供できればwhere(次の行に沿ったもの:

T.LeadDate >= DATEADD(d, DATEDIFF(d, 0, GETDATE()), 0) -1)

ありがとう

4

3 に答える 3

1

これにより、午前 7 時以降の LeadDate ですべてが取得されます。今日の

select * from TABLENAME t where t.LeadDate >= dateadd(hh,7, DATEDIFF(dd, 0, GETDATE()))

以下を使用することもできますが、これは私には少し明確に思えます。

select * from TABLENAME t where t.LeadDate >= dateadd(hh,7, CONVERT(datetime,CONVERT(date, getdate())))
于 2012-12-11T20:39:04.507 に答える
1
WHERE T.LeadDate >= DATEADD(hh,7,DATEDIFF(D, 0, GETDATE()))

DATEDIFF(D, 0, GETDATE())パーツを過去にキャストする必要はありません

于 2012-12-11T20:45:37.363 に答える
0

完全を期すために、これにより、ルールを考慮して1日あたりのカウントが取得されます。

-- Get counts of records per day
-- Anything prior to 8am is considered the prior day.
select cast(dateadd(hh, -8, MyDate) as date) FiscalDate, count(*) as Num
from MyTable
group by cast(dateadd(hh, -8, MyDate) as date)
order by cast(dateadd(hh, -8, MyDate) as date)
于 2012-12-11T20:52:42.117 に答える