我有问题要问。目前,我正在开发一个薪资单应用程序。但是,我坚持了这一过程的一部分。我设法显示薪水但我需要过滤某个日期才能显示薪水。
例如,今年9月,该公司已经在9月26日确定了工资,但用户只能看到它从9月28日及以上开始。因此,基本上,该计划可以显示上个月的工资单,除非9月份用户开始在9月28日看到它。
当前输出:
EMPLOYEEID MONTH YEAR SALARY
E001 7 2017 2000
E001 8 2017 2000
E001 9 2017 2000
E002 7 2017 2100
E002 8 2017 2100
E002 9 2017 2100
期望输出:
EMPLOYEEID MONTH YEAR SALARY
E001 7 2017 2000
E001 8 2017 2000
E002 7 2017 2100
E002 8 2017 2100
当前查询进度:
SELECT EMPLOYEEID, MONTH, YEAR, SALARY
FROM DBO.Salary
WHERE day(getdate())>=28
答案 0 :(得分:1)
今天是2017-09-29,应该出现9月。在小于28的时候添加OR
select *
from dbo.Salary s1
where day(getdate())>=28
or month(getdate()) > s1.Month