Windowsスケジューラを使用して自動実行するプログラムを作成しています。私がやりたいことは、プログラムを毎月 1 日と 16 日に実行するように設定することです。プログラムが最初に実行された場合。先月のクエリを実行したいのですが... たとえば、今日が 8 月 1 日の場合、2012 年 7 月 1 日から 2012 年 7 月 31 日まで実行したいと思います。16 日にプログラムを実行する場合、当月から 15 日にクエリを実行する必要があります。たとえば、8/16 の場合、プログラムで 8/1/12 から 8/15/12 のクエリを実行する必要があります。これを達成するための最良の方法は何ですか?クエリを正しい日付範囲に関連付けて、2 つの別々のプログラムを使用する必要がありますか? 1 つは毎月 1 日、もう 1 つは 16 日に実行される予定ですか? 実行される月/年によって異なるため、日付範囲と年を取得するにはどうすればよいですか...私のクエリは次のとおりです。
SELECT Store_Number, Invoice_Number, Invoice_Date, Extended_Price, Warranty_Amount, Quantity_Sold, Invoice_Detail_Code
FROM Invoice_Detail_Tb
WHERE (Warranty_Amount > 0) AND (Invoice_Date BETWEEN CONVERT(DATETIME, '2012-08-01 00:00:00', 102) AND CONVERT(DATETIME, '2012-08-05 00:00:00', 102))
ORDER BY Store_Number, Invoice_Date