Mysql中的日期时间函数小结
MySQL提供了丰富的日期和时间函数,方便我们对日期和时间进行各种操作。在这篇文章中,我们将给出MySQL中一些常用的日期和时间函数的介绍和用法演示。
NOW()
NOW()
函数返回当前日期和时间。
SELECT NOW();
-- 返回如下结果
-- 2021-11-16 10:05:25
DATE()
DATE()
函数返回日期(年份、月份、日期),时间部分被舍去。
SELECT DATE(NOW());
-- 返回如下结果
-- 2021-11-16
TIME()
TIME()
函数返回时间(小时、分钟、秒钟)。
SELECT TIME(NOW());
-- 返回如下结果
-- 10:05:25
YEAR()
YEAR()
函数返回日期中的年份。
SELECT YEAR('2021-11-16');
-- 返回如下结果
-- 2021
MONTH()
MONTH()
函数返回日期中的月份。
SELECT MONTH('2021-11-16');
-- 返回如下结果
-- 11
DAY()
DAY()
函数返回日期中的日子。
SELECT DAY('2021-11-16');
-- 返回如下结果
-- 16
WEEKDAY()
WEEKDAY()
函数返回日期对应的星期几,0代表星期一,6代表星期日。
SELECT WEEKDAY('2021-11-16');
-- 返回如下结果
-- 2
DATEDIFF()
DATEDIFF()
函数计算两个日期之间的天数差。
SELECT DATEDIFF('2021-11-16', '2021-10-16');
-- 返回如下结果
-- 31
DATE_ADD()
DATE_ADD()
函数在日期上添加指定的时间间隔。
SELECT DATE_ADD('2021-11-16', INTERVAL 1 MONTH);
-- 返回如下结果
-- 2021-12-16
示例1:计算两个时间戳之间的时间差
SELECT TIMESTAMPDIFF(SECOND, '2021-11-16 00:00:00', NOW());
-- 返回如下结果
-- 36325
上面的SQL查询语句用来计算当前时间到2021年11月16日00:00:00的秒数差,可以用于计算某些事件发生的时间差。
示例2:根据生日计算年龄
假设我们有一个用户表users
,其中包含了每位用户的生日信息。我们可以使用DATEDIFF()
函数和YEAR()
函数来计算年龄。
SELECT id, name, YEAR(NOW()) - YEAR(birthday) - IF(DATE_FORMAT(NOW(),'%m-%d') < DATE_FORMAT(birthday,'%m-%d'), 1, 0) AS age FROM users;
上面的SQL查询语句将计算出每个用户的年龄,并将其作为age
列返回。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mysql中的日期时间函数小结 - Python技术站