一、引言
接下来讨论和学习关于函数的第三个方面------日期函数。
常见的MySQL当中的日期函数。
注意:
1、CURDATE():cur:current 当前的,返回的是当前日期。
2、CURTIME():当前时间。
3、NOW:当前的日期和时间。
4、YEAR(date) 、MONTH(date) 、DAY(date):年月日
5、DATE_ADD(date,INTERVAL expr type) :在指定日期的基础上来增加,可以是年、月或者是天。取决于单位:type 。
6、DATEDIFF(date1、date2):返回这两个日期相差的天数。
上面先简单介绍学习到这里。接下来去工具 DataGrip 一个一个试一下这个里面涉及到的日期时间的函数。
二、实操
(1)当前日期:CURDATE();
sqlSELECT CURDATE();
(2)当前时间:CURTIME();
sqlSELECT CURTIME();
(3)当前日期和时间:NOW();
sqlSELECT NOW();
(4)YEAR(date); MONTH(date); DAY(date);
sqlSELECT YEAR(CURDATE()); SELECT MONTH(NOW()); SELECT DAY(NOW());
(5)DATE_ADD(date, INTERVAL expr type);
sqlSELECT DATE_ADD(NOW(),INTERVAL 70 DAY); SELECT DATE_ADD(NOW(),INTERVAL 70 MONTH); SELECT DATE_ADD(NOW(),INTERVAL 70 YEAR);
注意:
函数作用:返回在指定日期的基础上来增加一个时间间隔之后的时间值。
interval:间隔
expr:我们指定的一个时间
type:时间的单位
(6) DATEDIFF(date1,date2);
返回的是两个指定时间之间相差的天数。而且是第一个时间减去第二个时间: (date1) - (date2) 。
sqlSELECT DATEDIFF('2024-6-1','2024-5-12');
三、案例
根据需求完成以下SQL编写。
1、查询所有员工的入职天数,并根据入职天数倒序排序。
sqlSELECT name,DATEDIFF(CURDATE(),entrydate) AS entry_days FROM emp ORDER BY entry_days DESC;