mysql计算员工工龄
时间: 2023-11-01 09:02:10 浏览: 219
假设员工的入职时间保存在`hire_date`字段中,可以使用`DATEDIFF`函数计算员工的工龄:
```
SELECT emp_id, DATEDIFF(NOW(), hire_date) AS work_years
FROM employees;
```
其中`NOW()`函数返回当前日期和时间,`DATEDIFF`函数用于计算两个日期之间的天数差,通过除以365可得到工龄的年数。以上SQL语句会返回一个包含`emp_id`和`work_years`两列的结果集,其中`emp_id`为员工编号,`work_years`为员工的工龄(单位为天)。
相关问题
mysql工龄计算公式
MySQL工龄计算公式一般为:工龄 = 当前日期 - 入职日期。其中,当前日期为今天的日期,入职日期为员工的入职日期。如果需要精确到天数,则可以使用DATEDIFF函数计算两个日期之间的天数差。具体的SQL语句如下所示:
```
SELECT DATEDIFF(CURDATE(), hire_date) AS work_years FROM employees WHERE emp_no = '员工编号';
```
其中,CURDATE()函数返回当前日期,hire_date为员工的入职日期,employees为员工信息表,emp_no为员工编号。
根据入职日期计算工龄的sql不使用函数
可以使用MySQL的日期计算功能,根据员工的入职日期计算工龄,SQL语句如下:
```
SELECT TIMESTAMPDIFF(YEAR, hire_date, CURDATE()) - IF(DATE_FORMAT(hire_date, '%m%d') > DATE_FORMAT(CURDATE(), '%m%d'), 1, 0) AS work_years
FROM employees
WHERE emp_no = '员工编号';
```
其中,TIMESTAMPDIFF函数用于计算两个日期之间的年数差,hire_date为员工的入职日期,CURDATE()函数返回当前日期,DATE_FORMAT函数用于返回日期的格式化字符串,%m表示月份,%d表示天数。IF函数用于判断当前日期是否已过入职日期的年底,如果还未过,则工龄需要减去1年。employees为员工信息表,emp_no为员工编号。
阅读全文