先贴一张黑马程序员的听课截图
1.返回当前日期 CURDATE();
select CURDATE(); //获取当前日期
2. 返回当前时间 CURTIME();
select CURTIME(); //获取当前时间
3.返回当前日期和时间NOW()
select NOW(); //获取当前日期和时间
4.获取指定date的年份YEAR(date)
select YEAR('2026-09-15'); //获取这个年份的所属年份
select YEAR(now()) //获取当前时间的所属年份
5.获取指定date的月份MONTH(date);
select MONTH(now()); //获取当前日期的所属月份
6.获取指定date的日期DAY(date)
select day(now()); //获取当前日期的所属天
7.返回一个日期/时间值加上一个时间间隔expr后的时间值DATE_ADD(date,INTERVAL expr unit)
select DATE_ADD(now(), INTERVAL 70 YEAR); //让当前的日期往后推移70年后的日期,里面的year可以换成month,day。
8.返回起始时间date1和结束时间date2之间的天数DATEDIFF(expr1,expr2);
select DATEDIFF('2099-09-01', now());
//获取2099-09-01到当前日期的相差天数、
//计算方式也就是前面的减去后面的日期
例子1:查询所有员工的入职天数,并根据入职天数按倒序排序
select name, datediff(now(), entrydate) as 'entrydays' from emp
ORDER BY entrydays desc;//这个先要获取员工的名字,入职时间,既然是入职几天,那就是相差
//datediff这个函数,当前的时间与入职时间相减,获得就是入职天数
//然后把这个重命名,在用order by倒序排序