我正在想一种方法(我对sql很陌生(,让这个脚本每年2月1日只查找一次记录。任何帮助都会很棒。
select permit.PERMITID, SAVERPERMITMANAGEMENT.permitrequested, PERMITSTATUS.NAME
from PERMIT
inner join SAVERPERMITMANAGEMENT
on permit.PERMITID = SAVERPERMITMANAGEMENT.ID
inner join PERMITSTATUS
on permitstatus.PERMITSTATUSID = permit.PERMITSTATUSID
where Typeofpermitrequested = 'GUID' AND permit.PERMITSTATUSID = 'GUID'
AND PERMITTYPEID = 'GUID' AND getdate() = 2022-02-01
我一直纠结于日期部分,以及如何让脚本每年递增地看起来,直到关闭。这是年度报告。
根据我对您问题的理解,您需要将查询修改为以下内容:
IF DATEPART(MONTH, GETDATE()) = 2 -- Check if today's month is February
AND DATEPART(DAY, GETDATE()) = 1 -- Check if today is the first of the month
BEGIN
-- If it's the first of February, then return the query results
select permit.PERMITID, SAVERPERMITMANAGEMENT.permitrequested, PERMITSTATUS.NAME
from PERMIT
inner join SAVERPERMITMANAGEMENT
on permit.PERMITID = SAVERPERMITMANAGEMENT.ID
inner join PERMITSTATUS
on permitstatus.PERMITSTATUSID = permit.PERMITSTATUSID
where Typeofpermitrequested = 'GUID' AND permit.PERMITSTATUSID = 'GUID'
AND PERMITTYPEID = 'GUID';
END
然而,您需要每天运行该查询&除了2月1日,你每天都会得到一个空结果。
因此,一个更好的选择是使用类似SQL Server代理的东西:创建一个包含上述SELECT查询&安排它在每年的2月1日运行。