函数 | 功能 |
---|---|
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;