我有一个任期表,其中有列链接ID,名称,雇员的加入日期。
我试图只聘用从加入日期到今天为止的任期(工作经验)为2至5年的员工。
我使用查询
SELECT ID FROM tenure WHERE DATEADD(year, 2, JoinDate) >= '2018-08-06' AND DATEADD(year, 5, JoinDate) <= '2018-08-06';
我如何才能只获得那些从加入日期到今天的工作期限或任期在2至5年之间的员工?
答案 0 :(得分:1)
您可以使用TimeStampDiff():
SELECT ID
FROM tenure t
WHERE timestampdiff(YEAR, JoinDate, now()) >= 2 AND
timestampdiff(YEAR, JoinDate, now()) <= 5;
答案 1 :(得分:1)
使用TIMESTAMPDIFF
函数
SELECT ID FROM tenure WHERE
TIMESTAMPDIFF(YEAR, date(joindate), date(now()))>= 2 and
TIMESTAMPDIFF(YEAR, date(joindate), date(now()))<=5
答案 2 :(得分:1)
对我来说,您的语法建议使用SQL Server。逻辑将是:
where joindate >= dateadd(year, -5, getdate()) and
joindate < dateadd(year, -2, getdate())
答案 3 :(得分:0)
根据今天的日期将Joindate与预期范围进行比较
select *
from tenure
where joindate between DATE_ADD(cur_date(), INTERVAL -5 YEAR)
and DATE_ADD(cur_date(), INTERVAL -2 YEAR)