mysql的内建日期处理函数详解数据库

下面的表格列出了MySQL 中最重要的内建日期函数:

函数 描述
NOW() 返回当前的日期和时间
CURDATE() 返回当前的日期
CURTIME() 返回当前的时间
DATE() 提取日期或日期/时间表达式的日期部分
EXTRACT() 返回日期/时间按的单独部分
DATE_ADD() 给日期添加指定的时间间隔
DATE_SUB() 从日期减去指定的时间间隔
DATEDIFF() 返回两个日期之间的天数
DATE_FORMAT() 用不同的格式显示日期/时间

 

 

 

 

 

 

 

 

 

时间差函数(TIMESTAMPDIFF、DATEDIFF)

需要用MySQL计算时间差,使用TIMESTAMPDIFF、DATEDIFF,记录一下实验结果

--0 
select datediff(now(), now()); 
 
--2 
select datediff('2015-04-22 23:59:00', '2015-04-20 00:00:00'); 
 
--2 
select datediff('2015-04-22 00:00:00', '2015-04-20 23:59:00'); 
 
--1 
select TIMESTAMPDIFF(DAY, '2015-04-20 23:59:00', '2015-04-22 00:00:00'); 
 
--2 
select TIMESTAMPDIFF(DAY, '2015-04-20 00:00:00', '2015-04-22 00:00:00'); 
 
--2 
select TIMESTAMPDIFF(DAY, '2015-04-20 00:00:00', '2015-04-22 12:00:00'); 
 
--2 
select TIMESTAMPDIFF(DAY, '2015-04-20 00:00:00', '2015-04-22 23:59:00'); 
 
--71 
select TIMESTAMPDIFF(HOUR, '2015-04-20 00:00:00', '2015-04-22 23:00:00'); 
 
--4260 
select TIMESTAMPDIFF(MINUTE, '2015-04-20 00:00:00', '2015-04-22 23:00:00');

MySQL 取得两个时间相差的分钟数

-- 取得相隔秒数 
SELECT UNIX_TIMESTAMP('2012-06-09 00:10:11')-UNIX_TIMESTAMP('2012-06-09 00:09:12') 
 
-- 取得相隔分钟数 
SELECT round((UNIX_TIMESTAMP('2012-06-09 00:10:11')-UNIX_TIMESTAMP('2012-06-09 00:09:12'))/60)

日期转换计算函数(date_add、day、date_format、str_to_date)

-- 用日期与字符串转换,计算当月第一天、下月第一天 
select curdate() as '当前日期',  
DATE_FORMAT(curdate(), '%Y-%m') as '当前月份',  
str_to_date(concat(DATE_FORMAT(curdate(), '%Y-%m'), '-01'), '%Y-%m-%d') as '当前月的第一天',  
date_add(str_to_date(concat(DATE_FORMAT(curdate(), '%Y-%m'), '-01'), '%Y-%m-%d'), interval 1 month) as '下月的第一天'; 
 
-- 当前月的最后一天 
select last_day(curdate()); 
 
-- 下月第一天 
select date_add(last_day(curdate()), interval 1 day); 
 
-- 当天为当月的第几天 
select day(curdate()); 
 
-- 当月第一天 
select date_add(curdate(), interval 1-(day(curdate())) day);

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/database/4748.html

(0)
上一篇 2021年7月16日 23:14
下一篇 2021年7月16日 23:14

相关推荐

发表回复

登录后才能评论