MySQL 函数参考手册(MySQL 日期函数)

目录

[MySQL ADDDATE() 函数](#MySQL ADDDATE() 函数)

[MySQL ADDTIME() 函数](#MySQL ADDTIME() 函数)

[MySQL CURDATE() 函数](#MySQL CURDATE() 函数)

[MySQL CURRENT_DATE() 函数](#MySQL CURRENT_DATE() 函数)

[MySQL CURRENT_TIME() 函数](#MySQL CURRENT_TIME() 函数)

[MySQL CURRENT_TIMESTAMP() 函数](#MySQL CURRENT_TIMESTAMP() 函数)

[MySQL CURTIME() 函数](#MySQL CURTIME() 函数)

[MySQL DATE() 函数](#MySQL DATE() 函数)

[MySQL DATEDIFF() 函数](#MySQL DATEDIFF() 函数)

[MySQL DATE_ADD() 函数](#MySQL DATE_ADD() 函数)

[MySQL DATE_FORMAT() 函数](#MySQL DATE_FORMAT() 函数)

[MySQL DATE_SUB() 函数](#MySQL DATE_SUB() 函数)

[MySQL DAY() 函数](#MySQL DAY() 函数)

[MySQL DAYNAME() 函数](#MySQL DAYNAME() 函数)

[MySQL DAYOFMONTH() 函数](#MySQL DAYOFMONTH() 函数)

[MySQL DAYOFWEEK() 函数](#MySQL DAYOFWEEK() 函数)

[MySQL DAYOFYEAR() 函数](#MySQL DAYOFYEAR() 函数)

[MySQL EXTRACT() 函数](#MySQL EXTRACT() 函数)

[MySQL FROM_DAYS() 函数](#MySQL FROM_DAYS() 函数)

[MySQL HOUR() 函数](#MySQL HOUR() 函数)

[MySQL LAST_DAY() 函数](#MySQL LAST_DAY() 函数)

[MySQL LOCALTIME() 函数](#MySQL LOCALTIME() 函数)

[MySQL LOCALTIMESTAMP() 函数](#MySQL LOCALTIMESTAMP() 函数)

[MySQL MAKEDATE() 函数](#MySQL MAKEDATE() 函数)

[MySQL MAKETIME() 函数](#MySQL MAKETIME() 函数)

[MySQL MICROSECOND() 函数](#MySQL MICROSECOND() 函数)

[MySQL MINUTE() 函数](#MySQL MINUTE() 函数)

[MySQL MONTH() 函数](#MySQL MONTH() 函数)

[MySQL MONTHNAME() 函数](#MySQL MONTHNAME() 函数)

[MySQL NOW() 函数](#MySQL NOW() 函数)

[MySQL PERIOD_ADD() 函数](#MySQL PERIOD_ADD() 函数)

[MySQL PERIOD_DIFF() 函数](#MySQL PERIOD_DIFF() 函数)

[MySQL QUARTER() 函数](#MySQL QUARTER() 函数)

[MySQL SECOND() 函数](#MySQL SECOND() 函数)

[MySQL SEC_TO_TIME() 函数](#MySQL SEC_TO_TIME() 函数)

[MySQL STR_TO_DATE() 函数](#MySQL STR_TO_DATE() 函数)

[MySQL SUBDATE() 函数](#MySQL SUBDATE() 函数)

[MySQL SUBTIME() 函数](#MySQL SUBTIME() 函数)

[MySQL SYSDATE() 函数](#MySQL SYSDATE() 函数)

[MySQL TIME() 函数](#MySQL TIME() 函数)

[MySQL TIME_FORMAT() 函数](#MySQL TIME_FORMAT() 函数)

[MySQL TIME_TO_SEC() 函数](#MySQL TIME_TO_SEC() 函数)

[MySQL TIMEDIFF() 函数](#MySQL TIMEDIFF() 函数)

[MySQL TIMESTAMP() 函数](#MySQL TIMESTAMP() 函数)

[MySQL TO_DAYS() 函数](#MySQL TO_DAYS() 函数)

[MySQL WEEK() 函数](#MySQL WEEK() 函数)

[MySQL WEEKDAY() 函数](#MySQL WEEKDAY() 函数)

[MySQL WEEKOFYEAR() 函数](#MySQL WEEKOFYEAR() 函数)

[MySQL YEAR() 函数](#MySQL YEAR() 函数)

[MySQL YEARWEEK() 函数](#MySQL YEARWEEK() 函数)


MySQL ADDDATE() 函数

【实例】

将日期加上 10 天并返回日期:

sql 复制代码
SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY);

【定义和用法】

ADDDATE() 函数将时间/日期间隔添加到日期,然后返回日期。

【语法】

sql 复制代码
ADDDATE(date, INTERVAL value addunit)

或者:

sql 复制代码
ADDDATE(date, days)

【参数值】

参数 描述
date 必需。修改日期
days 必需。添加到date
value 必需。要添加的时间/日期间隔的值。 正负值都可以
addunit 必需。要添加的间隔类型。 可以是以下值之一: * MICROSECOND * SECOND * MINUTE * HOUR * DAY * WEEK * MONTH * QUARTER * YEAR * SECOND_MICROSECOND * MINUTE_MICROSECOND * MINUTE_SECOND * HOUR_MICROSECOND * HOUR_SECOND * HOUR_MINUTE * DAY_MICROSECOND * DAY_SECOND * DAY_MINUTE * DAY_HOUR * YEAR_MONTH

【技术细节】

适用于: From MySQL 4.0

【实例】

将日期加 15 分钟并返回日期:

sql 复制代码
SELECT ADDDATE("2017-06-15 09:34:21", INTERVAL 15 MINUTE);

【实例】

一个日期减去 3 小时并返回日期:

sql 复制代码
SELECT ADDDATE("2017-06-15 09:34:21", INTERVAL -3 HOUR);

【实例】

日期减去 2 个月并返回日期:

sql 复制代码
SELECT ADDDATE("2017-06-15", INTERVAL -2 MONTH);

MySQL ADDTIME() 函数

【实例】

将时间加 2 秒并返回日期时间:

sql 复制代码
SELECT ADDTIME("2017-06-15 09:34:21", "2");

【定义和用法】

ADDTIME() 函数将时间间隔添加到时间/日期时间,然后返回时间/日期时间。

【语法】

sql 复制代码
ADDTIME(datetime, addtime)

【参数值】

参数 描述
datetime 必需。要修改的时间/日期时间
addtime 必需。添加到 datetime 的时间间隔。 正负值都可以

【技术细节】

适用于: From MySQL 4.0

【实例】

将时间加上 5 秒和 3 微秒并返回日期时间:

sql 复制代码
SELECT ADDTIME("2017-06-15 09:34:21.000001", "5.000003");

【实例】

将时间加上 2 小时 10 分钟 5 秒和 3 微秒并返回日期时间:

sql 复制代码
SELECT ADDTIME("2017-06-15 09:34:21.000001", "2:10:5.000003");

【实例】

将时间加上 5 天 2 小时 10 分钟 5 秒和 3 微秒并返回日期时间:

sql 复制代码
SELECT ADDTIME("2017-06-15 09:34:21.000001", "5 2:10:5.000003");

【实例】

将时间加上 2 小时 10 分钟 5 秒和 3 微秒并返回时间:

sql 复制代码
SELECT ADDTIME("09:34:21.000001", "2:10:5.000003");

MySQL CURDATE() 函数

【实例】

返回当前日期:

sql 复制代码
SELECT CURDATE();

【定义和用法】

CURDATE() 函数返回当前日期。

注:日期以 "YYYY-MM-DD" (字符串)或 YYYYMMDD(数字)形式返回。此函数等于 CURRENT_DATE() 函数。

【语法】

sql 复制代码
CURDATE()

【技术细节】

适用于: From MySQL 4.0

【实例】

返回当前日期+1:

sql 复制代码
SELECT CURDATE() + 1;

MySQL CURRENT_DATE() 函数

【实例】

返回当前日期:

sql 复制代码
SELECT CURRENT_DATE();

【定义和用法】

CURRENT_DATE() 函数返回当前日期。

注:日期以 "YYYY-MM-DD" (字符串)或 YYYYMMDD(数字)形式返回。这个函数等同于CURDATE()函数。

【语法】

sql 复制代码
CURRENT_DATE()

【技术细节】

适用于: From MySQL 4.0

【实例】

返回当前日期+1:

sql 复制代码
SELECT CURRENT_DATE() + 1;

MySQL CURRENT_TIME() 函数

【实例】

返回当前时间:

sql 复制代码
SELECT CURRENT_TIME();

【定义和用法】

CURRENT_TIME() 函数返回当前时间。

注:时间以 "HH-MM-SS" (字符串)或 HHMMSS.uuuuuu(数字)形式返回。这个函数等同于CURTIME()函数。​

【语法】

sql 复制代码
CURRENT_TIME()

【技术细节】

适用于: From MySQL 4.0

【实例】

返回当前时间+1:

sql 复制代码
SELECT CURRENT_TIME() + 1;

MySQL CURRENT_TIMESTAMP() 函数

【实例】

返回当前日期和时间:

sql 复制代码
SELECT CURRENT_TIMESTAMP();

【定义和用法】

CURRENT_TIMESTAMP() 函数返回当前日期和时间。

注:日期和时间以 "YYYY-MM-DD HH-MM-SS"(字符串)或 YYYYMMDDHHMMSS.uuuuuu(数字)形式返回。

【语法】

sql 复制代码
CURRENT_TIMESTAMP()

【技术细节】

适用于: From MySQL 4.0

【实例】

返回当前日期和时间 + 1:

sql 复制代码
SELECT CURRENT_TIMESTAMP() + 1;

MySQL CURTIME() 函数

【实例】

返回当前时间:

sql 复制代码
SELECT CURTIME();

【定义和用法】

CURTIME() 函数返回当前时间。

注:时间返回为"HH-MM-SS"。 (字符串)或 HHMMSS.uuuuuu(数字)。此函数等于 CURRENT_TIME() 函数。

【语法】

sql 复制代码
CURTIME()

【技术细节】

适用于: From MySQL 4.0

【实例】

返回当前时间+1:

sql 复制代码
SELECT CURTIME() + 1;

MySQL DATE() 函数

【实例】

提取日期部分:

sql 复制代码
SELECT DATE("2017-06-15");

【定义和用法】

DATE() 函数从日期时间表达式中提取日期部分。

【语法】

sql 复制代码
DATE(expression)

【参数值】

参数 描述
expression 必需。有效的日期/日期时间值。 如果表达式不是日期或日期时间,则返回 NULL

【技术细节】

适用于: From MySQL 4.0

【实例】

提取日期部分:

sql 复制代码
SELECT DATE("2017-06-15 09:34:21");

【实例】

提取日期部分(将返回 NULL):

sql 复制代码
SELECT DATE("The date is 2017-06-15");

【实例】

提取日期部分:

sql 复制代码
SELECT DATE(OrderDate) FROM Orders;

MySQL DATEDIFF() 函数

【实例】

返回两个日期值之间的天数:

sql 复制代码
SELECT DATEDIFF("2017-06-25", "2017-06-15");

【定义和用法】

DATEDIFF() 函数返回两个日期值之间的天数。

【语法】

sql 复制代码
DATEDIFF(date1, date2)

【参数值】

参数 描述
date1, date2 必需。计算两个日期之间的天数。 (日期 1 - 日期 2)

【技术细节】

适用于: From MySQL 4.0

【实例】

返回两个日期值之间的天数:

sql 复制代码
SELECT DATEDIFF("2017-06-25 09:34:21", "2017-06-15 15:25:35");

【实例】

返回两个日期值之间的天数:

sql 复制代码
SELECT DATEDIFF("2017-01-01", "2016-12-24");

MySQL DATE_ADD() 函数

【实例】

将日期加上 10 天并返回日期:

sql 复制代码
SELECT DATE_ADD("2017-06-15", INTERVAL 10 DAY);

【定义和用法】

DATE_ADD() 函数将时间/日期间隔添加到日期,然后返回日期。

【语法】

sql 复制代码
DATE_ADD(date, INTERVAL value addunit)

【参数值】

参数 描述
date 必需。修改日期
value 必需。要添加的时间/日期间隔的值。 正负值都可以
addunit 必需。要添加的间隔类型。 可以是以下值之一: * MICROSECOND * SECOND * MINUTE * HOUR * DAY * WEEK * MONTH * QUARTER * YEAR * SECOND_MICROSECOND * MINUTE_MICROSECOND * MINUTE_SECOND * HOUR_MICROSECOND * HOUR_SECOND * HOUR_MINUTE * DAY_MICROSECOND * DAY_SECOND * DAY_MINUTE * DAY_HOUR * YEAR_MONTH

【技术细节】

适用于: From MySQL 4.0

【实例】

将日期加 15 分钟并返回日期:

sql 复制代码
SELECT DATE_ADD("2017-06-15 09:34:21", INTERVAL 15 MINUTE);

【实例】

一个日期减去 3 小时并返回日期:

sql 复制代码
SELECT DATE_ADD("2017-06-15 09:34:21", INTERVAL -3 HOUR);

【实例】

日期减去 2 个月并返回日期:

sql 复制代码
SELECT DATE_ADD("2017-06-15", INTERVAL -2 MONTH);

MySQL DATE_FORMAT() 函数

【实例】

格式化日期:

sql 复制代码
SELECT DATE_FORMAT("2017-06-15", "%Y");

【定义和用法】

DATE_FORMAT() 函数按指定格式化日期。

【语法】

sql 复制代码
DATE_FORMAT(date, format)

【参数值】

参数 描述
date 必需。要格式化的日期
format 必须。要使用的格式。可以是以下值之一或组合:

【技术细节】

适用于: From MySQL 4.0

【实例】

格式化日期:

sql 复制代码
SELECT DATE_FORMAT("2017-06-15", "%M %d %Y");

【实例】

格式化日期:

sql 复制代码
SELECT DATE_FORMAT("2017-06-15", "%W %M %e %Y");

【实例】

格式化日期:

sql 复制代码
SELECT DATE_FORMAT(BirthDate, "%W %M %e %Y") FROM Employees;

MySQL DATE_SUB() 函数

【实例】

从一个日期减去 10 天并返回日期:

sql 复制代码
SELECT DATE_SUB("2017-06-15", INTERVAL 10 DAY);

【定义和用法】

DATE_SUB() 函数从日期中减去时间/日期间隔,然后返回日期。

【语法】

sql 复制代码
DATE_SUB(date, INTERVAL value interval)

【参数值】

参数 描述
date 必需。 修改日期
value 必需。要减去的时间/日期间隔的值。 正负值都可以
interval 必需。要减去的区间类型。 可以是以下值之一: * MICROSECOND * SECOND * MINUTE * HOUR * DAY * WEEK * MONTH * QUARTER * YEAR * SECOND_MICROSECOND * MINUTE_MICROSECOND * MINUTE_SECOND * HOUR_MICROSECOND * HOUR_SECOND * HOUR_MINUTE * DAY_MICROSECOND * DAY_SECOND * DAY_MINUTE * DAY_HOUR * YEAR_MONTH

【技术细节】

适用于: From MySQL 4.0

【实例】

从日期减去 15 分钟并返回日期:

sql 复制代码
SELECT DATE_SUB("2017-06-15 09:34:21", INTERVAL 15 MINUTE);

【实例】

从日期中减去 3 小时并返回日期:

sql 复制代码
SELECT DATE_SUB("2017-06-15 09:34:21", INTERVAL 3 HOUR);

【实例】

将日期加 2 个月并返回日期:

sql 复制代码
SELECT DATE_SUB("2017-06-15", INTERVAL -2 MONTH);

MySQL DAY() 函数

【实例】

返回日期的月份日期:

sql 复制代码
SELECT DAY("2017-06-15");

【定义和用法】

DAY() 函数返回给定日期(从 1 到 31 的数字)的月份中的哪一天。

注:此函数等于 DAYOFMONTH() 函数。

【语法】

sql 复制代码
DAY(date)

【参数值】

参数 描述
date 必需。从中提取日期的日期

【技术细节】

适用于: From MySQL 4.0

【实例】

返回日期的月份日期:

sql 复制代码
SELECT DAY("2017-06-15 09:34:21");

【实例】

返回当前系统日期的月份日期:

sql 复制代码
SELECT DAY(CURDATE());

MySQL DAYNAME() 函数

【实例】

返回日期的工作日名称:

sql 复制代码
SELECT DAYNAME("2017-06-15");

【定义和用法】

DAYNAME() 函数返回给定日期的工作日名称。

【语法】

sql 复制代码
DAYNAME(date)

【参数值】

参数 描述
date 必需。从中提取工作日名称的日期

【技术细节】

适用于: From MySQL 4.0

【实例】

返回日期的工作日名称:

sql 复制代码
SELECT DAYNAME("2017-06-15 09:34:21");

【实例】

返回当前系统日期的工作日名称:

sql 复制代码
SELECT DAYNAME(CURDATE());

MySQL DAYOFMONTH() 函数

【实例】

返回日期的月份日期:

sql 复制代码
SELECT DAYOFMONTH("2017-06-15");

【定义和用法】

DAYOFMONTH() 函数返回给定日期的月份日期(1 到 31 之间的数字)。

注:此函数等于 DAY() 函数。

【语法】

sql 复制代码
DAYOFMONTH(date)

【参数值】

参数 描述
date 必需。从中提取日期的日期

【技术细节】

适用于: From MySQL 4.0

【实例】

返回日期的月份日期:

sql 复制代码
SELECT DAYOFMONTH("2017-06-15 09:34:21");

【实例】

返回当前系统日期的月份日期:

sql 复制代码
SELECT DAYOFMONTH(CURDATE());

MySQL DAYOFWEEK() 函数

【实例】

返回某个日期的工作日索引:

sql 复制代码
SELECT DAYOFWEEK("2017-06-15");

【定义和用法】

DAYOFWEEK() 函数返回给定日期的工作日索引(从 1 到 7 的数字)。

注: 1=星期日,2=星期一,3=星期二,4=星期三,5=星期四,6=星期五,7=星期六。

【语法】

sql 复制代码
DAYOFWEEK(date)

【参数值】

参数 描述
date 必需。返回工作日索引的日期

【技术细节】

适用于: From MySQL 4.0

【实例】

返回某个日期的工作日索引:

sql 复制代码
SELECT DAYOFWEEK("2017-06-15 09:34:21");

【实例】

返回当前系统日期的工作日索引:

sql 复制代码
SELECT DAYOFWEEK(CURDATE());

MySQL DAYOFYEAR() 函数

【实例】

返回日期的年份:

sql 复制代码
SELECT DAYOFYEAR("2017-06-15");

【定义和用法】

DAYOFYEAR() 函数返回给定日期的一年中的哪一天(从 1 到 366 的数字)。

【语法】

sql 复制代码
DAYOFYEAR(date)

【参数值】

参数 描述
date 必需。返回一年中日期的日期

【技术细节】

适用于: From MySQL 4.0

【实例】

返回日期的年份:

sql 复制代码
SELECT DAYOFYEAR("2017-01-01");

【实例】

返回当前系统日期的年份:

sql 复制代码
SELECT DAYOFYEAR(CURDATE());

MySQL EXTRACT() 函数

【实例】

从日期中提取月份:

sql 复制代码
SELECT EXTRACT(MONTH FROM "2017-06-15");

【定义和用法】

EXTRACT() 函数从给定日期提取部分。

【语法】

sql 复制代码
EXTRACT(part FROM date)

【参数值】

参数 描述
part 必需。要提取的部分。 可以是以下之一: * MICROSECOND * SECOND * MINUTE * HOUR * DAY * WEEK * MONTH * QUARTER * YEAR * SECOND_MICROSECOND * MINUTE_MICROSECOND * MINUTE_SECOND * HOUR_MICROSECOND * HOUR_SECOND * HOUR_MINUTE * DAY_MICROSECOND * DAY_SECOND * DAY_MINUTE * DAY_HOUR * YEAR_MONTH
date 必需。提取部分的日期

【技术细节】

适用于: From MySQL 4.0

【实例】

从日期中提取星期:

sql 复制代码
SELECT EXTRACT(WEEK FROM "2017-06-15");

【实例】

从日期时间中提取分钟:

sql 复制代码
SELECT EXTRACT(MINUTE FROM "2017-06-15 09:34:21");

【实例】

从日期时间中提取年份和月份:

sql 复制代码
SELECT EXTRACT(YEAR_MONTH FROM "2017-06-15 09:34:21");

MySQL FROM_DAYS() 函数

【实例】

从当天的数字表示中返回日期:

sql 复制代码
SELECT FROM_DAYS(685467);

【定义和用法】

FROM_DAYS() 函数从数字日期值返回日期。

FROM_DAYS() 函数只能用于公历中的日期。

注:此函数与 TO_DAYS() 函数相反。

【语法】

sql 复制代码
FROM_DAYS(number)

【参数值】

参数 描述
number 必需。要转换为日期的数字日期

【技术细节】

适用于: From MySQL 4.0

【实例】

从当天的数字表示中返回日期:

sql 复制代码
SELECT FROM_DAYS(780500);

MySQL HOUR() 函数

【实例】

返回日期时间的小时部分:

sql 复制代码
SELECT HOUR("2017-06-20 09:34:00");

【定义和用法】

HOUR() 函数返回给定日期的小时部分(从 0 到 838)。

【语法】

sql 复制代码
HOUR(datetime)

【参数值】

参数 描述
datetime 必需。从中提取小时的日期时间值

【技术细节】

适用于: From MySQL 4.0

【实例】

返回日期时间的小时部分:

sql 复制代码
SELECT HOUR("838:59:59");

MySQL LAST_DAY() 函数

【实例】

提取给定日期当月的最后一天:

sql 复制代码
SELECT LAST_DAY("2017-06-20");

【定义和用法】

LAST_DAY() 函数提取给定日期该月的最后一天。

【语法】

sql 复制代码
LAST_DAY(date)

【参数值】

参数 描述
date 必需。从中提取该月最后一天的日期

【技术细节】

适用于: From MySQL 4.0

【实例】

提取给定日期当月的最后一天:

sql 复制代码
SELECT LAST_DAY("2017-02-10 09:34:00");

MySQL LOCALTIME() 函数

【实例】

返回当前日期和时间:

sql 复制代码
SELECT LOCALTIME();

【定义和用法】

LOCALTIME() 函数返回当前日期和时间。

注:日期和时间以 "YYYY-MM-DD HH-MM-SS" (字符串)或 YYYYMMDDHHMMSS.uuuuuu(数字)形式返回。

【语法】

sql 复制代码
LOCALTIME()

【技术细节】

适用于: From MySQL 4.0

【实例】

返回当前日期和时间+1:

sql 复制代码
SELECT LOCALTIME() + 1;

MySQL LOCALTIMESTAMP() 函数

【实例】

返回当前日期和时间:

sql 复制代码
SELECT LOCALTIMESTAMP();

【定义和用法】

LOCALTIMESTAMP() 函数返回当前日期和时间。

注:日期和时间以 "YYYY-MM-DD HH-MM-SS"(字符串)或 YYYYMMDDHHMMSS.uuuuuu(数字)形式返回。

【语法】

sql 复制代码
LOCALTIMESTAMP()

【技术细节】

适用于: From MySQL 4.0

【实例】

返回当前日期和时间+1:

sql 复制代码
SELECT LOCALTIMESTAMP() + 1;

MySQL MAKEDATE() 函数

【实例】

根据年份和天数值创建并返回日期:

sql 复制代码
SELECT MAKEDATE(2017, 3);

【定义和用法】

MAKEDATE() 函数根据年份和天数值创建并返回日期。

【语法】

sql 复制代码
MAKEDATE(year, day)

【参数值】

参数 描述
year 必需。一年(4 位)
day 必需。一个表示一年中日期的数字

【技术细节】

适用于: From MySQL 4.0

【实例】

根据年份和天数值创建并返回日期:

sql 复制代码
SELECT MAKEDATE(2017, 175);

【实例】

根据年份和天数值创建并返回日期:

sql 复制代码
SELECT MAKEDATE(2017, 100);

【实例】

根据年份和天数值创建并返回日期:

sql 复制代码
SELECT MAKEDATE(2017, 366);

MySQL MAKETIME() 函数

【实例】

根据小时、分钟和秒值创建并返回时间值:

sql 复制代码
SELECT MAKETIME(11, 35, 4);

【定义和用法】

MAKETIME() 函数根据小时、分钟和秒值创建并返回时间。

【语法】

sql 复制代码
MAKETIME(hour, minute, second)

【参数值】

参数 描述
hour 必需。小时值
minute 必需。分钟值
second 必需。秒值

【技术细节】

适用于: From MySQL 4.0

【实例】

根据小时、分钟和秒值创建并返回时间值:

sql 复制代码
SELECT MAKETIME(16, 1, 0);

【实例】

根据小时、分钟和秒值创建并返回时间值:

sql 复制代码
SELECT MAKETIME(21, 59, 59);

【实例】

根据小时、分钟和秒值创建并返回时间值:

sql 复制代码
SELECT MAKETIME(838, 59, 59);

MySQL MICROSECOND() 函数

【实例】

返回日期时间的微秒部分:

sql 复制代码
SELECT MICROSECOND("2017-06-20 09:34:00.000023");

【定义和用法】

MICROSECOND() 函数返回时间/日期时间的微秒部分(从 0 到 999999)。

【语法】

sql 复制代码
MICROSECOND(datetime)

【参数值】

参数 描述
datetime 必需。从中提取微秒的时间或日期时间

【技术细节】

适用于: From MySQL 4.0

【实例】

返回时间值的微秒部分:

sql 复制代码
SELECT MICROSECOND("23:59:59.000045");

MySQL MINUTE() 函数

【实例】

返回日期时间值的分钟部分:

sql 复制代码
SELECT MINUTE("2017-06-20 09:34:00");

【定义和用法】

MINUTE() 函数返回时间/日期时间的分钟部分(从 0 到 59)。

【语法】

sql 复制代码
MINUTE(datetime)

【参数值】

参数 描述
datetime 必需。时间或日期时间从中提取分钟

【技术细节】

适用于: From MySQL 4.0

【实例】

返回时间值的分钟部分:

sql 复制代码
SELECT MINUTE("23:59:59");

MySQL MONTH() 函数

【实例】

返回日期的月份部分:

sql 复制代码
SELECT MONTH("2017-06-15");

【定义和用法】

MONTH() 函数返回给定日期的月份部分(从 1 到 12 的数字)。

【语法】

sql 复制代码
MONTH(date)

【参数值】

参数 描述
date 必需。从中提取月份的日期或日期时间

【技术细节】

适用于: From MySQL 4.0

【实例】

返回日期的月份部分:

sql 复制代码
SELECT MONTH("2017-06-15 09:34:21");

【实例】

返回当前系统日期的月份部分:

sql 复制代码
SELECT MONTH(CURDATE());

MySQL MONTHNAME() 函数

【实例】

返回日期的月份名称:

sql 复制代码
SELECT MONTHNAME("2017-06-15");

【定义和用法】

MONTHNAME() 函数返回给定日期的月份名称。

【语法】

sql 复制代码
MONTHNAME(date)

【参数值】

参数 描述
date 必需。从中提取月份名称的日期或日期时间值

【技术细节】

适用于: From MySQL 4.0

【实例】

返回日期的月份名称:

sql 复制代码
SELECT MONTHNAME("2017-06-15 09:34:21");

【实例】

返回当前系统日期的月份名称:

sql 复制代码
SELECT MONTHNAME(CURDATE());

MySQL NOW() 函数

【实例】

返回当前日期和时间:

sql 复制代码
SELECT NOW();

【定义和用法】

NOW() 函数返回当前日期和时间。

注:日期和时间以 "YYYY-MM-DD HH-MM-SS"(字符串)或 YYYYMMDDHHMMSS.uuuuuu(数字)形式返回。

【语法】

sql 复制代码
NOW()

【技术细节】

适用于: From MySQL 4.0

【实例】

返回当前日期和时间+1:

sql 复制代码
SELECT NOW() + 1;

MySQL PERIOD_ADD() 函数

【实例】

在句点中添加指定的月份:

sql 复制代码
SELECT PERIOD_ADD(201703, 5);

【定义和用法】

PERIOD_ADD() 函数将指定的月数添加到期间。

PERIOD_ADD() 函数将返回格式为 YYYYMM 的结果。

【语法】

sql 复制代码
PERIOD_ADD(period, number)

【参数值】

参数 描述
period 必需。一段时间。 格式:YYMM 或 YYYYMM
number 必需。添加到period的月数。 正负值都可以

【技术细节】

适用于: From MySQL 4.0

【实例】

在句点中添加指定的月份:

sql 复制代码
SELECT PERIOD_ADD(201703, 15);

【实例】

在句点中添加指定的月份:

sql 复制代码
SELECT PERIOD_ADD(201703, -2);

MySQL PERIOD_DIFF() 函数

【实例】

返回两个句点之间的差:

sql 复制代码
SELECT PERIOD_DIFF(201710, 201703);

【定义和用法】

PERIOD_DIFF() 函数返回两个周期之间的差值。 结果将在几个月内。

注: period1period2 应该采用相同的格式。

【语法】

sql 复制代码
PERIOD_DIFF(period1, period2)

【参数值】

参数 描述
period1 必需。一个时间。 格式:YYMM 或 YYYYMM
period2 必需。另一个时间。 格式:YYMM 或 YYYYMM

【技术细节】

适用于: From MySQL 4.0

【实例】

返回两个句点之间的差:

sql 复制代码
SELECT PERIOD_DIFF(201703, 201803);

【实例】

返回两个句点之间的差:

sql 复制代码
SELECT PERIOD_DIFF(1703, 1612);

MySQL QUARTER() 函数

【实例】

返回日期所在的季度:

sql 复制代码
SELECT QUARTER("2017-06-15");

【定义和用法】

QUARTER() 函数返回给定日期值(从 1 到 4 的数字)的一年中的季度。

  • 1-3 月返回 1
  • 4 月至 6 月返回 2
  • 7-9 月返回 3
  • 10 月至 12 月返回 4

【语法】

sql 复制代码
QUARTER(date)

【参数值】

参数 描述
date 必需。从中提取季度的日期或日期时间

【技术细节】

适用于: From MySQL 4.0

【实例】

返回日期所在的季度:

sql 复制代码
SELECT QUARTER("2017-01-01 09:34:21");

【实例】

返回日期所在的季度:

sql 复制代码
SELECT QUARTER(CURDATE());

MySQL SECOND() 函数

【实例】

返回日期时间值的秒部分:

sql 复制代码
SELECT SECOND("2017-06-20 09:34:00.000023");

【定义和用法】

SECOND() 函数返回时间/日期时间的秒部分(从 0 到 59)。

【语法】

sql 复制代码
SECOND(datetime)

【参数值】

参数 描述
datetime 必需。从中提取第二个的时间或日期时间

【技术细节】

适用于: From MySQL 4.0

【实例】

返回时间值的秒部分:

sql 复制代码
SELECT SECOND("23:59:59");

MySQL SEC_TO_TIME() 函数

【实例】

根据指定的秒值返回一个时间值:

sql 复制代码
SELECT SEC_TO_TIME(1);

【定义和用法】

SEC_TO_TIME() 函数根据指定的秒数返回一个时间值(格式为 HH:MM:SS)。

【语法】

sql 复制代码
SEC_TO_TIME(seconds)

【参数值】

参数 描述
seconds 必需。秒数。 正值或负值都可以

【技术细节】

适用于: From MySQL 4.0

【实例】

根据指定的秒值返回一个时间值:

sql 复制代码
SELECT SEC_TO_TIME(-6897);

MySQL STR_TO_DATE() 函数

【实例】

根据字符串和格式返回日期:

sql 复制代码
SELECT STR_TO_DATE("August 10 2017", "%M %d %Y");

【定义和用法】

STR_TO_DATE() 函数根据字符串和格式返回日期。

【语法】

sql 复制代码
STR_TO_DATE(string, format)

【参数值】

参数 描述
string 必需。要格式化为日期的字符串
format 必需。要使用的格式。 可以是以下值之一或组合:

【技术细节】

适用于: From MySQL 4.0

【实例】

根据字符串和格式返回日期:

sql 复制代码
SELECT STR_TO_DATE("August,5,2017", "%M %e %Y");

【实例】

根据字符串和格式返回日期:

sql 复制代码
SELECT STR_TO_DATE("Monday, August 14, 2017", "%W %M %e %Y");

【实例】

根据字符串和格式返回日期:

sql 复制代码
SELECT STR_TO_DATE("2017,8,14 10,40,10", "%Y,%m,%d %h,%i,%s");

MySQL SUBDATE() 函数

【实例】

从一个日期减去 10 天并返回日期:

sql 复制代码
SELECT SUBDATE("2017-06-15", INTERVAL 10 DAY);

【定义和用法】

SUBDATE() 函数从日期中减去时间/日期间隔,然后返回日期。

【语法】

sql 复制代码
SUBDATE(date, INTERVAL value unit)

或者:

sql 复制代码
SUBDATE(date, days)

【参数值】

参数 描述
date 必需。原日期
days 必须。从date中减去的天数
value 必须。要减去的时间/日期间隔的值。 正负值都可以
unit 必须。区间的类型。 可以是以下值之一: * MICROSECOND * SECOND * MINUTE * HOUR * DAY * WEEK * MONTH * QUARTER * YEAR * SECOND_MICROSECOND * MINUTE_MICROSECOND * MINUTE_SECOND * HOUR_MICROSECOND * HOUR_SECOND * HOUR_MINUTE * DAY_MICROSECOND * DAY_SECOND * DAY_MINUTE * DAY_HOUR * YEAR_MONTH

【技术细节】

适用于: From MySQL 4.0

【实例】

从日期减去 15 分钟并返回日期:

sql 复制代码
SELECT SUBDATE("2017-06-15 09:34:21", INTERVAL 15 MINUTE);

【实例】

从日期中减去 3 小时并返回日期:

sql 复制代码
SELECT SUBDATE("2017-06-15 09:34:21", INTERVAL 3 HOUR);

【实例】

将日期加 2 个月并返回日期:

sql 复制代码
SELECT SUBDATE("2017-06-15", INTERVAL -2 MONTH);

MySQL SUBTIME() 函数

【实例】

减去 5.000001 秒并返回日期时间:

sql 复制代码
SELECT SUBTIME("2017-06-15 10:24:21.000004", "5.000001");

【定义和用法】

SUBTIME() 函数从时间/日期时间表达式中减去时间,然后返回新的时间/日期时间。

【语法】

sql 复制代码
SUBTIME(datetime, time_interval)

【参数值】

参数 描述
datetime 必需。要修改的时间或日期时间
time_interval 必需。从 datetime 中减去的时间间隔。 正负值都可以

【技术细节】

适用于: From MySQL 4.0

【实例】

减去 3 小时 2 分钟 5.000001 秒并返回日期时间:

sql 复制代码
SELECT SUBTIME("2017-06-15 10:24:21.000004", "3:2:5.000001");

【实例】

减去5秒,返回时间:

sql 复制代码
SELECT SUBTIME("10:24:21", "5");

【实例】

sql 复制代码
SELECT SUBTIME("10:24:21", "300");

【实例】

加上 3 小时 2 分 5 秒,并返回时间:

sql 复制代码
SELECT SUBTIME("10:24:21", "-3:2:5");

MySQL SYSDATE() 函数

【实例】

返回当前日期和时间:

sql 复制代码
SELECT SYSDATE();

【定义和用法】

SYSDATE() 函数返回当前日期和时间。

注:日期和时间以 "YYYY-MM-DD HH:MM:SS"(字符串)或 YYYYMMDDHHMMSS(数字)形式返回。

【语法】

sql 复制代码
SYSDATE()

【技术细节】

适用于: From MySQL 4.0

【实例】

返回当前日期和时间+1:

sql 复制代码
SELECT SYSDATE() + 1;

MySQL TIME() 函数

【实例】

从时间表达式中提取时间部分:

sql 复制代码
SELECT TIME("19:30:10");

【定义和用法】

TIME() 函数从给定时间/日期时间中提取时间部分。

注: 此函数返回"00:00:00"。 如果 expression 不是日期时间/时间,如果 expression 为 NULL,则为 NULL。

【语法】

sql 复制代码
TIME(expression)

【参数值】

参数 描述
expression 必需。从中提取时间的时间/日期时间

【技术细节】

适用于: From MySQL 4.0

【实例】

从日期时间表达式中提取时间部分:

sql 复制代码
SELECT TIME("2017-08-15 19:30:10");

【实例】

从日期时间表达式中提取时间部分:

sql 复制代码
SELECT TIME("2017-08-15 19:30:10.000001");

【实例】

从NULL中提取时间部分:

sql 复制代码
SELECT TIME(NULL);

MySQL TIME_FORMAT() 函数

【实例】

格式化时间:

sql 复制代码
SELECT TIME_FORMAT("19:30:10", "%H %i %s");

【定义和用法】

TIME_FORMAT() 函数按指定格式格式化时间。

【语法】

sql 复制代码
TIME_FORMAT(time, format)

【参数值】

参数 描述
time 必需。格式化时间
format 必需。要使用的格式。 可以是以下之一或组合:

【技术细节】

适用于: From MySQL 4.0

【实例】

格式化时间:

sql 复制代码
SELECT TIME_FORMAT("19:30:10", "%h %i %s %p");

【实例】

格式化时间:

sql 复制代码
SELECT TIME_FORMAT("19:30:10", "%r");

【实例】

格式化时间:

sql 复制代码
SELECT TIME_FORMAT("19:30:10", "%T");

MySQL TIME_TO_SEC() 函数

【实例】

将时间值转换为秒:

sql 复制代码
SELECT TIME_TO_SEC("19:30:10");

【定义和用法】

TIME_TO_SEC() 函数将时间值转换为秒。

【语法】

sql 复制代码
TIME_TO_SEC(time)

【参数值】

参数 描述
time 必需。时间值

【技术细节】

适用于: From MySQL 4.0

【实例】

将时间值转换为秒:

sql 复制代码
SELECT TIME_TO_SEC("00:00:05");

【实例】

将时间值转换为秒:

sql 复制代码
SELECT TIME_TO_SEC("03:30:00.999999");

【实例】

将时间值转换为秒:

sql 复制代码
SELECT TIME_TO_SEC("-03:30:00");

MySQL TIMEDIFF() 函数

【实例】

返回两个时间表达式的差:

sql 复制代码
SELECT TIMEDIFF("13:10:11", "13:10:10");

【定义和用法】

TIMEDIFF() 函数返回两个时间/日期时间表达式之间的差异。

注: time1time2 格式应该一样,计算是time1 - < em>time2。

【语法】

sql 复制代码
TIMEDIFF(time1, time2)

【参数值】

参数 描述
time1 必需。一个时间值
time2 必需。另一个时间值

【技术细节】

适用于: From MySQL 4.0

【实例】

返回两个日期时间表达式之间的差:

sql 复制代码
SELECT TIMEDIFF("2017-06-25 13:10:11", "2017-06-15 13:10:10");

MySQL TIMESTAMP() 函数

【实例】

根据参数返回一个日期时间值:

sql 复制代码
SELECT TIMESTAMP("2017-07-23",  "13:10:11");

【定义和用法】

TIMESTAMP() 函数根据日期或日期时间值返回一个日期时间值。

注:如果此函数指定了两个参数,它首先将第二个参数添加到第一个参数,然后返回一个日期时间值。

【语法】

sql 复制代码
TIMESTAMP(expression, time)

【参数值】

参数 描述
expression 必需。日期或日期时间值
time 可选。添加到表达式

【技术细节】

适用于: From MySQL 4.0

【实例】

根据参数返回一个日期时间值:

sql 复制代码
SELECT TIMESTAMP("2017-07-23");

MySQL TO_DAYS() 函数

【实例】

返回日期和年份 0 之间的天数:

sql 复制代码
SELECT TO_DAYS("2017-06-20");

【定义和用法】

TO_DAYS() 函数返回日期和年份 0(日期 "0000-00-00")之间的天数。

TO_DAYS() 函数只能用于公历中的日期。

注:此函数与 FROM_DAYS() 函数相反。

【语法】

sql 复制代码
TO_DAYS(date)

【参数值】

参数 描述
date 必需。给定日期

【技术细节】

适用于: From MySQL 4.0

【实例】

返回日期和年份 0 之间的天数:

sql 复制代码
SELECT TO_DAYS("2017-06-20 09:34:00");

MySQL WEEK() 函数

【实例】

返回日期的周数:

sql 复制代码
SELECT WEEK("2017-06-15");

【定义和用法】

WEEK() 函数返回给定日期的周数(从 0 到 53 的数字)。

【语法】

sql 复制代码
WEEK(date, firstdayofweek)

【参数值】

参数 描述
date 必需。 提取周数表单的日期或日期时间
firstdayofweek 可选。 指定一周从哪一天开始。 可以是以下之一: * 0 - 一周的第一天是星期日 * 1 - 一周的第一天是星期一,一年中的第一周超过 3 天 * 2 - 一周的第一天是星期日 * 3 - 一周的第一天是星期一,一年中的第一周超过 3 天 * 4 - 一周的第一天是星期日,一年中的第一周超过 3 天 * 5 - 一周的第一天是星期一 * 6 - 一周的第一天是星期日,一年中的第一周超过 3 天 * 7 - 一周的第一天是星期一

【技术细节】

适用于: From MySQL 4.0

【实例】

返回日期的周数:

sql 复制代码
SELECT WEEK("2017-10-25");

【实例】

返回当前系统日期的周数:

sql 复制代码
SELECT WEEK(CURDATE());

MySQL WEEKDAY() 函数

【实例】

返回日期的工作日编号:

sql 复制代码
SELECT WEEKDAY("2017-06-15");

【定义和用法】

WEEKDAY() 函数返回给定日期的工作日编号。

注: 0 = 星期一,1 = 星期二,2 = 星期三,3 = 星期四,4 = 星期五,5 = 星期六,6 = 星期日。

【语法】

sql 复制代码
WEEKDAY(date)

【参数值】

参数 描述
date 必需。 从中提取工作日编号的日期或日期时间

【技术细节】

适用于: From MySQL 4.0

【实例】

返回日期的工作日编号:

sql 复制代码
SELECT WEEKDAY("2017-01-01");

【实例】

返回当前系统日期的工作日编号:

sql 复制代码
SELECT WEEKDAY(CURDATE());

MySQL WEEKOFYEAR() 函数

【实例】

返回日期的周数:

sql 复制代码
SELECT WEEKOFYEAR("2017-06-15");

【定义和用法】

WEEKOFYEAR() 函数返回给定日期的周数(从 1 到 53 的数字)。

注:此函数假定一周的第一天是星期一,并且一年中的第一周有超过 3 天。同时查看 WEEK() 函数。

【语法】

sql 复制代码
WEEKOFYEAR(date)

【参数值】

参数 描述
date 必需。 从中提取周数的日期或日期时间

【技术细节】

适用于: From MySQL 4.0

【实例】

返回日期的周数:

sql 复制代码
SELECT WEEKOFYEAR("2017-01-01");

【实例】

返回当前系统日期的周数:

sql 复制代码
SELECT WEEKOFYEAR(CURDATE());

MySQL YEAR() 函数

【实例】

返回日期的年份部分:

sql 复制代码
SELECT YEAR("2017-06-15");

【定义和用法】

YEAR() 函数返回给定日期的年份部分(从 1000 到 9999 的数字)。

【语法】

sql 复制代码
YEAR(date)

【参数值】

参数 描述
date 必需。 从中提取年份的日期/日期时间

【技术细节】

适用于: From MySQL 4.0

【实例】

返回日期的年份部分:

sql 复制代码
SELECT YEAR("2017-06-15 09:34:21");

【实例】

返回当前系统日期的年份部分:

sql 复制代码
SELECT YEAR(CURDATE());

MySQL YEARWEEK() 函数

【实例】

返回日期的年份和周数:

sql 复制代码
SELECT YEARWEEK("2017-06-15");

【定义和用法】

YEARWEEK() 函数返回给定日期的年和周数(从 0 到 53 的数字)。

【语法】

sql 复制代码
YEARWEEK(date, firstdayofweek)

【参数值】

参数 描述
date 必需。要从中提取年份和周数的日期或日期时间值
firstdayofweek 可选。 指定一周从哪一天开始。 可以是以下之一: * 0 - 一周的第一天是星期日 * 1 - 一周的第一天是星期一,第一周超过 3 天 * 2 - 一周的第一天是星期日 * 3 - 一周的第一天是星期一,第一周超过 3 天 * 4 - 一周的第一天是星期日,并且第一周超过 3 天 * 5 - 一周的第一天是星期一 * 6 - 一周的第一天是星期日,第一周超过 3 天 * 7 - 一周的第一天是星期一

【技术细节】

适用于: From MySQL 4.0

【实例】

返回日期的年份和周数:

sql 复制代码
SELECT YEARWEEK("2017-10-25");

【实例】

返回当前系统日期的年份和周数:

sql 复制代码
SELECT YEARWEEK(CURDATE());
相关推荐
Mephisto.java13 分钟前
【力扣 | SQL题 | 每日三题】力扣175, 176, 181
sql·算法·leetcode
Leoysq28 分钟前
Oracle 数据库常用命令与操作指南
数据库·笔记·oracle
技术卷39 分钟前
golang学习笔记4-基本数据类型
笔记·学习·golang
zhangrelay1 小时前
如何避开学习和研究机器人方向无价值的知识节约时间
笔记·学习·机器人·持续学习
武子康1 小时前
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!
java·大数据·数据库·分布式·sql·clickhouse·flink
s_little_monster1 小时前
【C++】模版进阶
开发语言·c++·经验分享·笔记·学习·学习方法
虫本初阳1 小时前
【Java】接口interface【主线学习笔记】
java·笔记·学习
changan2772 小时前
(笔记自用)LeetCode:快乐数
c语言·数据结构·笔记·算法·leetcode·哈希算法
步达硬件2 小时前
【FPGA】编程方式
笔记·单片机·嵌入式硬件·fpga开发
楠了个难3 小时前
HDMI色块移动——FPGA学习笔记13
笔记·学习