mysql常用函数

mysql常用函数

时间函数

  • 获取当前时间
SELECT NOW();
SELECT CURDATE();
SELECT CURTIME();
  • 时间提取
SELECT DATE(NOW());
SELECT TIME(NOW());
SELECT EXTRACT(MONTH FROM NOW());
  • 日期与时间戳转换
SELECT UNIX_TIMESTAMP(NOW());   //日期转时间戳,单位为秒
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(NOW()));   //时间戳转日期
  • 字符串与日期转换
`DATE_FORMAT(date,format) 格式化时间为字符串
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')

STR_TO_DATE(str,format) 字符串格式化为时间,大多数情况时间格式的字符串可以直接使用,但不能作为某些时间函数的表达式
SELECT EXTRACT(MONTH FROM STR_TO_DATE('2017-06-31 11:32:42','%Y-%m-%d %H:%i:%s'))
  • 时间部分零值化
SELECT CAST(CURDATE() AS DATETIME);  //2017-05-31 00:00:00
SELECT DATE_FORMAT(CURDATE(),'%Y-%m-%d %H:%i:%s');  //2017-05-31 00:00:00
  • 计算时间差
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)  计算两个日期的时间差(后-前)
SELECT TIMESTAMPDIFF(MONTH,'2009-12-01','2009-09-01');  //月差,-3
SELECT TIMESTAMPDIFF(YEAR,'2009-05-01','2008-01-01');  //年差,-1
SELECT TIMESTAMPDIFF(SECOND,DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s'),'2013-03-07 15:43:00')    //秒差

DATEDIFF(datetime_expr1,datetime_expr2)  计算两个日期的天差(前-后)

DATEDIFFTIMESTAMPDIFF(DAY,datetime_expr1,datetime_expr2)的差别?
1)1个后-前,1个前-后;
2)TIMESTAMPDIFF的结果是毫秒,然后换算成天,不足1天则为0;DATEDIFF舍去TIME相减,结果为整数天

  • 时间推算
DATE_ADD(date,INTERVAL expr unit) 向日期添加指定的时间,expr可为负
SELECT DATE_ADD(now(),INTERVAL -3 MONTH);   //三个月前
SELECT DATE_ADD(now(),INTERVAL 7 DAY);   //7天后

DATE_SUB(date,INTERVAL expr unit) 向日期减去指定的时间
等同于DATE_ADD(date,INTERVAL -expr unit)

整数函数

ROUND(X) 位值X四舍五入为整数,无小数位
ROUND(X,D) 将值X四舍五入为小数点D位的数值
FLOOR(X) 向下取整
CEIL(X) 向上取整
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值