我一直在尝试显示所有有一年或一年以上工作经验的员工,但它一直显示所有员工,我正在使用 DATEDIFF(YEAR,Hired_Date,GETDATE()) >= 1
在where子句中,即使只有不到一年的经验,它也会继续显示出来。
员工\u tb
ID Hired_Date
001 2018-05-01
002 2018-03-01
003 2020-05-01
004 2019-12-05
005 2017-03-01
我一直在尝试显示所有有一年或一年以上工作经验的员工,但它一直显示所有员工,我正在使用 DATEDIFF(YEAR,Hired_Date,GETDATE()) >= 1
在where子句中,即使只有不到一年的经验,它也会继续显示出来。
员工\u tb
ID Hired_Date
001 2018-05-01
002 2018-03-01
003 2020-05-01
004 2019-12-05
005 2017-03-01
4条答案
按热度按时间pcrecxhr1#
wh6knrhe2#
在您的查询中使用
EmpStartDate
而不是Hired_Date
.n9vozmp43#
显示日历年的差异。因此2019-12-31和2020-01-01相隔一个日历年。
根据你需要的精确程度,你应该使用
month
而不是year
.3pvhb19x4#
请使用以下sql server查询:
如果你想在mysql中使用
TIMESTAMPDIFF
具体如下: