データベースにクエリを実行して、「昨日」の日付の「オープン」レポートを取得するストアド プロシージャがあります。このプログラムは、昨日の結果を常にデータベースに照会する Windows スケジューラで実行されます。午前 5 時 30 分~午前 6 時 26 分を除く、昨日のすべての結果が必要です。私はこれらの結果を見ることを気にしません...指定された時間ブロックを表示しないことを除いて、すべてが機能します...
私のストアドプロシージャは次のとおりです。
ALTER PROCEDURE [dbo].[Open_Close] AS
declare @dtNow datetime , @dtToday datetime , @dtFrom datetime , @dtThru datetime , @dtExcludeFrom datetime , @dtExcludeThru datetime
set @dtNow = getdate()
set @dtToday = convert(datetime,convert(varchar,@dtNow,112),112)
set @dtFrom = dateadd(day,-1,@dtToday) -- start-of-day yesterday
set @dtThru = dateadd(ms,-3,@dtToday) -- end-of-day yesterday (e.g., 2012-06-17 23:59:59.997)
set @dtExcludeFrom = convert(datetime, convert(char(10),@dtFrom,120) + ' 05:30:00.000' , 120 )
set @dtExcludeThru = convert(datetime, convert(char(10),@dtFrom,120) + ' 06:15:00.000' , 120 )
SELECT Store_Id , DM_Corp_Received_Date
FROM Register_Till_Count_Tb
WHERE Register_Transaction_Type = 'SOD'
AND Register_Till_Count_Datetime between @dtFrom
and @dtThru AND Register_Till_Count_Datetime not between @dtExcludeFrom
and @dtExcludeThru