进阶四:日期函数
- 作者:alicomon
- 寄语读者:
博客为学习记录,目的有二:
- 记录知识点,方便温故知新;
- 为读者提供帮助,用于交流,共同提高。
1.now 返回当前系统日期+时间
SELECT NOW();
2.curdate 返回当前系统日期 不包含时间
SELECT CURDATE();
3.curtime 返回当前时间 不包含日期
SELECT CURTIME();
4.获取指定的部分,比如 年、月、日、小时、分钟、秒
SELECT YEAR(NOW()) AS 年 ;
此项输出: 2020
SELECT YEAR('1998-1-1') AS 年;
此项输出:1998
SELECT YEAR(hiredate) AS 年
FROM employees;
5.获取当前月份
SELECT MONTH(NOW()) 月;
6.获取当前英文月份
SELECT MONTHNAME(NOW()) 月;
7.str_to _date 将字符通过指定的格式转换为日期
SELECT STR_TO_DATE('1998 12 00','%Y %c %d') AS out_put;
SELECT STR_TO_DATE('11181216','%c %Y %d') AS out_put;
案例:查询入职日期为1992-4-3的员工信息
- 常规表达:
SELECT *
FROM employees
WHERE hiredate='1992-04-03';
- 按照 月-日 年份 的格式来查询,此格式需要用STR_TO_DATE来定义
SELECT *
FROM employees
WHERE hiredate=STR_TO_DATE('04-03 1992','%c-%d %Y');
8. date_format 将日期转换为字符
%Y是两位的年份
SELECT DATE_FORMAT(NOW(),'%y年%m月%d日') AS out_put;
案例:查询有奖金的员工名和入职日期,要求入职日期的格式(xx月/xx日 xx年)
SELECT first_name,DATE_FORMAT(hiredate,'%m月/%d日 %Y') AS 入职日期
FROM employees
WHERE commission_pct IS NOT NULL;
结果的部分截图(不完整截图)
以上记录的为常用的日期函数,为方便使用和交流,特兹记录。
来源:CSDN
作者:alicomon
链接:https://blog.csdn.net/QQQZSJ/article/details/104107687