小编Tha*_*nos的帖子

SQL Server 代理 - 在每个月末使用日期变量运行查询

我正在运行 SQL Server 2008 R2,我需要创建一个新作业,该作业基本上会在每个月初(每个月 1 日上午 01:00)运行查询。

这是查询:

INSERT INTO [SupportTracker].[dbo].[DashboardRecords]
SELECT [bg_id]
      ,[bg_short_desc]
      ,[bg_reported_date]
      ,[bg_status_updated_date]
      ,[us_firstname]
      ,[us_lastname]
      ,[LastUpdatedUserFirstname]
      ,[LastUpdatedUserLastname]
      ,[st_name]
      ,[pr_name]
      ,[ct_name]
      ,[pj_name]
      ,[AssignedUserFirstname]
      ,[AssignedUserLastname]
      ,[bg_project]
      ,[no_of_hours]
      ,[BugType]
      ,[SubType]
      ,[Device]
      ,[pj_parent_id]
FROM [SupportTracker].[dbo].[ViewIssueListwBugTypeNDevice]
WHERE 
     bg_reported_date between '2012-12-01 00:00:00.000' AND '2012-12-31 23:59:59.999' 
     AND bg_id NOT IN (SELECT bg_id FROM [SupportTracker].[dbo].[DashboardRecords])
ORDER BY bg_reported_date ASC
Run Code Online (Sandbox Code Playgroud)

我的问题是在WHERE条款上。这两个日期每个月都必须更改。

  • 如果我们在01-01-2013 01:00:00:00,我需要这两个日期:
    2012-12-01 00:00:00.0002012-12-31 23:59:59.999

  • 如果我们在01-02-2013 01:00:00:00,我需要这两个日期是:
    2013-01-01 00:00:00.0002013-01-31 23:59:59.999

基本上我需要捕获数据库的一部分并将其保存在表中,就像每个月末一样......

谢谢

sql-server sql-server-2008-r2 sql-server-agent

3
推荐指数
2
解决办法
6226
查看次数