mysql时间函数,MySQL时间函数概述
MySQL时间函数概述
MySQL是一种广泛使用的关系型数据库管理系统,它提供了丰富的内置函数来处理日期和时间数据。时间函数在数据库操作中扮演着重要角色,尤其是在处理与时间相关的业务逻辑时。本文将详细介绍MySQL中的时间函数,包括其用法、参数和示例。
获取当前日期和时间
NOW():返回当前的日期和时间。
CURDATE():返回当前的日期(不包括时间)。
CURTIME():返回当前的时间(不包括日期)。
CURRENTTIMESTAMP():返回当前的日期和时间。
SELECT NOW(); -- 结果:'2023-04-01 12:45:31'
SELECT CURDATE(); -- 结果:'2023-04-01'
SELECT CURTIME(); -- 结果:'12:45:31'
SELECT CURRENTTIMESTAMP(); -- 结果:'2023-04-01 12:45:31'
日期和时间的格式化
MySQL提供了DATE_FORMAT()函数来格式化日期和时间。该函数可以将日期和时间转换为指定的格式。
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 结果:'2023-04-01 12:45:31'
DATE_FORMAT()函数的占位符包括:
%Y:年份(4位数字)
%m:月份(01-12)
%d:日期(01-31)
%H:小时(00-23)
%i:分钟(00-59)
%s:秒(00-59)
日期和时间的计算
MySQL提供了DATE_ADD()和DATE_SUB()函数来计算日期和时间的加减操作。
DATE_ADD(date, INTERVAL expr type):在指定日期上加上一个时间间隔。
DATE_SUB(date, INTERVAL expr type):从指定日期中减去一个时间间隔。
SELECT DATE_ADD('2023-04-01', INTERVAL 1 DAY); -- 结果:'2023-04-02'
SELECT DATE_SUB('2023-04-01', INTERVAL 1 MONTH); -- 结果:'2023-03-01'
时间间隔expr可以是一个正数或负数,type可以是以下几种:
YEAR:年
MONTH:月
DAY:日
HOUR:小时
MINUTE:分钟
SECOND:秒
提取日期和时间的组成部分
MySQL提供了YEAR()、MONTH()、DAY()等函数来提取日期和时间的组成部分。
YEAR(date):提取年份。
MONTH(date):提取月份。
DAY(date):提取日期。
HOUR(time):提取小时。
MINUTE(time):提取分钟。
SECOND(time):提取秒。
SELECT YEAR(NOW()); -- 结果:2023
SELECT MONTH(NOW()); -- 结果:4
SELECT DAY(NOW()); -- 结果:1
SELECT HOUR(NOW()); -- 结果:12
SELECT MINUTE(NOW()); -- 结果:45
SELECT SECOND(NOW()); -- 结果:31