当前,我的屏幕在选择纳税年度代码时显示如下所示。
在选择纳税年度时,我希望禁用下拉框中的2018-2019纳税年度,应该不存在2018-2019。
下面是在屏幕上加载纳税年份的存储过程。
ALTER PROCEDURE [dbo].[TYEEYUSubmission_GetTaxYears] (
@PayrollNumber VARCHAR(10)
) AS BEGIN
SELECT DISTINCT CONVERT(VARCHAR(4), LEFT(PayrunPeriod, 4)) AS TaxYear
, CONVERT(VARCHAR(4), LEFT(PayrunPeriod, 4)) + ' / ' + CONVERT(VARCHAR(4), LEFT(PayrunPeriod, 4) - 1) AS TaxYearDesc
FROM RSTPayrollPeriod
WHERE PayrollNumber = @PayrollNumber
-- AND PeriodRunType = 'E'
ORDER BY TaxYear DESC
END
请问您如何建议修改存储过程,以免在纳税箱中出现纳税年度“ 2018-2019”?
我是SQL的新手,这就是为什么很难理解这一点的原因。谢谢
答案 0 :(得分:0)
我猜您正在使用SQL Server,所以这是我的解决方案。我假设PayrunPeriod
是作为字符串存储的日期
ALTER PROCEDURE [dbo].[TYEEYUSubmission_GetTaxYears] (
@PayrollNumber VARCHAR(10)
) AS BEGIN
DECLARE @year int;
SET @year = DATEPART( yyyy, GETDATE());
SELECT DISTINCT CONVERT(VARCHAR(4), LEFT(PayrunPeriod, 4)) AS TaxYear
, CONVERT(VARCHAR(4), LEFT(PayrunPeriod, 4)) + ' / ' + CONVERT(VARCHAR(4), LEFT(PayrunPeriod, 4) - 1) AS TaxYearDesc
FROM RSTPayrollPeriod
WHERE PayrollNumber = @PayrollNumber
AND CONVERT(INT, LEFT(PayrunPeriod,4)) < @year
ORDER BY TaxYear DESC
END
答案 1 :(得分:0)
应用了您的答案,但给出了以下内容 [结果] https://i.stack.imgur.com/c0FVg.png