不使用函数写一个根据入职日期计算工龄的sql
时间: 2024-03-21 10:42:47 浏览: 159
PL/SQL 日期时间类型函数及运算
可以使用MySQL的日期计算功能,根据员工的入职日期计算工龄,SQL语句如下:
```
SELECT YEAR(CURDATE())-YEAR(hire_date) - IF(DATE_FORMAT(CURDATE(),'%m%d')<DATE_FORMAT(hire_date,'%m%d'),1,0) AS work_years
FROM employees
WHERE emp_no = '员工编号';
```
其中,YEAR函数用于提取日期中的年份,hire_date为员工的入职日期,CURDATE()函数返回当前日期,DATE_FORMAT函数用于返回日期的格式化字符串,%m表示月份,%d表示天数。IF函数用于判断当前日期是否已过入职日期的年底,如果还未过,则工龄需要减去1年。employees为员工信息表,emp_no为员工编号。
阅读全文