mysql中常见函数(日期函数)

mysql中常见函数(日期函数)

直接po代码吧,代码中有注释

#三、日期函数
#NOW() 返回当前系统日期+时间
SELECT NOW();
#curdate() 返回当前系统日期,不包含时间
SELECT CURDATE();
#curtime() 返回当前时间,不包含日期
SELECT CURTIME();

#可以获取指定的部分,年、月、日、小时、分钟、秒
SELECT YEAR('2019-01-08') AS 'year', MONTH('2019-03-06') AS 月, DAY('2019-02-09') "日";
SELECT HOUR('2019-01-08 18:36:25') AS '时', MINUTE('2019-03-06 18:36:25') AS 分, SECOND('2019-02-09 18:36:25') "秒";
#
SELECT SYSDATE();
#当前时间
SELECT CURTIME();
#当前时间:等同于 CURTIME()
SELECT CURRENT_TIME();
#
SELECT CURRENT_TIMESTAMP();
SELECT CURRENT_TIMESTAMP;
SELECT LOCALTIME();
SELECT LOCALTIME;
SELECT LOCALTIMESTAMP();
SELECT LOCALTIMESTAMP;

#获取月份的英文名,结果为September
SELECT MONTHNAME('2019-09-06');
#
SELECT 
hiredate AS "入职时间", 
YEAR(hiredate) 入职年份, 
MONTH(hiredate) AS 入职月份, 
DAY(hiredate) '入职日' 
FROM employees;

#str_to_date 将字符通过指定的格式转换成日期
SELECT 
STR_TO_DATE('2018-3-4', '%Y-%m-%d') AS output, 
STR_TO_DATE('2018/09/02', '%Y/%c/%d') AS output, 
STR_TO_DATE('19-5-7', '%y-%c-%d') AS output;

#
SELECT 
STR_TO_DATE('2018-3-4 17:13:55', '%Y-%m-%d %H:%i:%s') AS output,
STR_TO_DATE('2018-3-4 11:18:37', '%Y-%m-%d %h:%i:%s') AS output,
STR_TO_DATE('2018-3-4 12:16:28', '%Y-%m-%d %h:%i:%s') AS output,
STR_TO_DATE('2018-3-4 12:16:28', '%y-%m-%d %h:%i:%s') AS output,
STR_TO_DATE('18-3-4 12:16:28', '%y-%m-%d %h:%i:%s') AS output,
STR_TO_DATE('2018-3-4 15:22:39', '%y-%m-%d %h:%i:%s') AS output;
#
SELECT * FROM employees WHERE hiredate = '1992-04-03';
SELECT * FROM employees WHERE hiredate = '1992-4-3';
SELECT * FROM employees WHERE hiredate = STR_TO_DATE('04-03-1992', '%m-%d-%Y');
SELECT * FROM employees WHERE hiredate = STR_TO_DATE('4-03-1992', '%c-%d-%Y');
SELECT * FROM employees WHERE hiredate = STR_TO_DATE('4-03 92', '%c-%d %y');

#date_format() 将日期转换成字符
SELECT 
DATE_FORMAT(NOW(), '%Y年%m月%d日') AS output,
DATE_FORMAT(NOW(), '%y年%m月%d日') AS output,
DATE_FORMAT(NOW(), '%Y年%c月%d日') AS output,
DATE_FORMAT(NOW(), '%y年%c月%d日') AS output,
DATE_FORMAT('2018-06-08', '%Y年%m月%d日') AS output,
DATE_FORMAT('2018-02-05', '%y年%c月%d日') AS output
;
#
SELECT DATE_FORMAT('2018-09-05', '%Y%m%d');
SELECT DATE_FORMAT('2018-09-05', '%Y-%m-%d');
SELECT DATE_FORMAT('2018-09-05', '%Y/%m/%d');
SELECT DATE_FORMAT('2018-09-05', '%Y#%m#%d');
SELECT DATE_FORMAT('2018/09/05', '%Y-%m-%d');
SELECT DATE_FORMAT('2018/09/05', '%Y-%c-%d');
SELECT DATE_FORMAT('2018/9/05', '%Y-%c-%d');
SELECT DATE_FORMAT('2018/9/05', '%Y-%m-%d');
SELECT DATE_FORMAT('20180905', '%Y-%m-%d');
SELECT DATE_FORMAT('20180905', '%y-%m-%d');
SELECT DATE_FORMAT('180905', '%y-%m-%d');
SELECT DATE_FORMAT('180905', '%Y-%m-%d');
SELECT DATE_FORMAT('2018/09/05', '%Y-%c-%d');
SELECT DATE_FORMAT('2018/09/05', '%y-%c-%d');
#结果为05-09-2018
SELECT DATE_FORMAT('18-09-05', '%d-%m-%Y');
#结果为05-09-18
SELECT DATE_FORMAT('18-09-05', '%d-%m-%y');
#结果为2018年05月06日
SELECT DATE_FORMAT('2018-05-06', '%Y年%m月%d日');

#查询有奖金的员工名和入职日期(xx月/xx日 xx年)
SELECT 
last_name,
hiredate,
DATE_FORMAT(hiredate, '%m月/%d日 %y年') AS 入职日期,
DATE_FORMAT(hiredate, '%c月/%e日 %Y年') AS 入职日期
FROM employees WHERE commission_pct IS NOT NULL;

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值