检查最近六个月的有效日期

时间:2019-01-22 23:20:39

标签: sql

嗨,我有一张临时表,他们在我们公司工作。表中有开始日期和结束日期。我需要找出过去六个月中活跃的所有临时工。

下表如下 TEMPID STARTDATE ENDDATE 1 (ENDDATE >= DATEADD(MONTH,-6,GETDATE()) OR (ENDDATE = '1900-01-01' AND STARTDATE <= GETDATE()) 2 3 我正在尝试

基本上,我在过去的六个月中只寻找活跃的工作,但是通过这样的条件,它显示了所有以前曾担任过积极进取心的人

1 个答案:

答案 0 :(得分:1)

您似乎并没有要求按开始日期进行过滤,因此请不要在查询中进行搜索。我假设您使用的是'1900-01-01'来代替NULL值来指示员工仍在工作。

... WHERE (ENDDATE='1900-01-01' OR ENDDATE BETWEEN DATEADD(MONTH,-6,GETDATE()) AND GETDATE())

如果您只希望过去6个月内被录用的人员,则可以添加AND STARDATE >= DATEADD(MONTH, -6, GETDATE())