选择所有使用datediff服务2年的员工

时间:2019-02-09 14:40:43

标签: vb.net

我需要选择从工作之日起已经服务2年的所有雇员。起初我以为我的代码在工作。因为数据是我将特定雇员的工作年份定为2017年2月9日时生成的,但是当我将其从2月9日更改为2月10日时,仍在生成数据。

代码

 select Date_of_employment,FirstName,LastName from MemInfo WHERE datediff(YEAR,Date_of_Employment,getdate())=2

1 个答案:

答案 0 :(得分:0)

docs

  

DATEDIFF返回日期或时间日期部分边界的数量,   在两个指定的日期之间越过。

因此,(伪代码)DATEDIFF(year,12/31/2018,1/1/2019)将返回1,因为越过了一年的边界。

使用DATEADD (datepart , number , date )

可能会获得更好的结果
select Date_of_employment,FirstName,LastName from MemInfo WHERE DATEADD(year, Date_of_employment, 2) > GETDATE();