mysql的内建日期处理函数

Posted 那啥快看

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

日期转换计算函数(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);

 

以上是关于mysql的内建日期处理函数的主要内容,如果未能解决你的问题,请参考以下文章

sql日期

SQL Date 函数

SQL Date 函数

SQL Date 函数

SQL基本操作——日期函数

Python常用的内建模块