Mysql进阶四:常见函数-日期函数

旧巷老猫 提交于 2020-01-30 04:50:34

进阶四:日期函数


  • 作者:alicomon
  • 寄语读者:
    博客为学习记录,目的有二:
  1. 记录知识点,方便温故知新;
  2. 为读者提供帮助,用于交流,共同提高。

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;

结果的部分截图(不完整截图)
在这里插入图片描述


以上记录的为常用的日期函数,为方便使用和交流,特兹记录。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!