NOW():返回当前系统日期和时间。
CURDATE():返回当前系统日期,不包含时间。
CURTIME():返回系统当前时间,不包含日期。
SELECT NOW() AS now, CURDATE() AS curdate, CURTIME() AS curtime ;

YEAR(date):返回指定日期的年份。
MONTH(date):返回指定日期的月份。
MONTHNAME(date):返回指定日期的月份的英文名。
DAY(date):返回指定日期的天数。
HOUR(time):返回指定时间的小时数。
MINUTE(time):返回指定时间的分钟数。
SECOND(time):返回指定时间的秒数。
SELECT YEAR(NOW()) AS year,MONTH(NOW()) AS month ,DAY(NOW()) AS day,HOUR(NOW()) AS hour;

上面说的NOW()会返回当前的日期和时间,也就是说接收time参数的函数同时也可以接收datetime格式的参数
使用日期时间格式的字符串也是可以的
SELECT YEAR('2020-08-31 22:06:03');

这一组时间函数的实际使用:
查询2020年三月五号上午八点雇佣的员工:
SELECT * FROM employees WHERE YEAR(hiredate) = 2020 AND MONTH(hiredate) = 3 AND HOUR(hiredate) = 8;

DATE_FORMAT
DATE_FORMAT(date,format):将日期格式转换成规定的格式。
懒得举例
DATEDIFF(startdate,enddate):返回两个日期startdate与enddate相差的时间。
SELECT DATEDIFF(NOW(),'2020-6-20 20:02:02') AS DiffDate;


但是应该是只会返回天数
SELECT DATEDIFF('2020-6-20 12:02:02','2020-6-20 20:02:02') AS DiffDate;

3834

被折叠的 条评论
为什么被折叠?



