我正在制作一个使用 Windows 调度程序自动运行的程序。我想做的是将程序设置为在每个月的 1 日和 16 日运行。如果程序运行在 1 日。我想运行上个月的查询...例如,如果今天是 8 月 1 日,我希望它在 2012 年 7 月 1 日至 2012 年 7 月 31 日运行。如果我在 16 日运行程序,我希望它运行当月到 15 日的查询。例如,如果是 8/16,我希望程序运行 8/1/12 - 8/15/12 的查询。实现这一目标的最佳方法是什么?我是否使用 2 个单独的程序,将查询附加到正确的日期范围?一个计划在每个月的第一天运行,一个在 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