【MySQL】—— 学习日期函数计算员工入职时间并进行倒排

函数

功能

curdate()

返回当前日期

curtime()

返回当前时间

now()

返回当前日期和时间

year(date)

获取指定date的年份

month(date)

获取指定date的月份

day(date)

获取指定date的日期

date_add(date,interval expr type)

返回一个日期/时间值加上一个时间间隔expr后的时间值

datediff(date1,date2)

返回起始时间date1 和 结束时间date2之间的天数


年月日的计算

代码语言:javascript
复制
-- year , month , day
select year(now());
代码语言:javascript
复制
select month(now());
代码语言:javascript
复制
select day(now());

时间间隔的计算

代码语言:javascript
复制
-- date_add

select date_add(now(),interval 70 year);


日期差值

代码语言:javascript
复制
-- datediff
select datediff('2024-2-11','2022-6-7');

Exercises

查询所有员工的入职天数,并根据入职天数倒序排序

代码语言:javascript
复制
-- 先根据时间函数找到所有员工的工作天数
select name,datediff(curdate(),ENTRYDATE) from emp;

-- 再根据入职天数(因为入职天数计算函数比较长,所以我们可以用as给它取别名)进行倒序排序。
select name,datediff(curdate(),ENTRYDATE) as 'A' from emp ORDER BY A desc;