最全总结---36种MySQL时间函数

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 最全总结---36种MySQL时间函数

1,NOW():返回当前日期和时间

SELECT NOW();
//这将返回当前日期和时间的值,例如:2023-03-11 15:32:45。

2,DATE():从日期时间值中提取日期部分:

SELECT DATE('2023-03-11 15:32:45');
//这将返回日期部分的值,即:2023-03-11。

3,TIME():从日期时间值中提取时间部分:

SELECT TIME('2023-03-11 15:32:45');
//这将返回时间部分的值,即:15:32:45。

4,YEAR():从日期时间值中提取年份部分:

SELECT YEAR('2023-03-11 15:32:45');
//这将返回年份部分的值,即:2023。

5,MONTH():从日期时间值中提取月份部分:

SELECT MONTH('2023-03-11 15:32:45');
//这将返回月份部分的值,即:3。

6,DAY():从日期时间值中提取天数部分:

SELECT DAY('2023-03-11 15:32:45');
//这将返回天数部分的值,即:11。

7,HOUR():从日期时间值中提取小时部分:

SELECT HOUR('2023-03-11 15:32:45');
//这将返回小时部分的值,即:15。

8,MINUTE():从日期时间值中提取分钟部分:

SELECT MINUTE('2023-03-11 15:32:45');
//这将返回分钟部分的值,即:32。

9,SECOND():从日期时间值中提取秒数部分:

SELECT SECOND('2023-03-11 15:32:45');
//这将返回秒数部分的值,即:45。

10,CURDATE():返回当前日期

SELECT CURDATE();
//这将当前日期,即:2023-03-11。

11,UNIX_TIMESTAMP():返回当前时间戳:

SELECT UNIX_TIMESTAMP();
//这将返回当前时间戳的值,例如:1647045165。

12,FROM_UNIXTIME():将时间戳转换为日期时间值:

SELECT FROM_UNIXTIME(1647045165);
//这将返回时间戳对应的日期时间值,例如:2023-03-11 15:39:25。

13,DATE_FORMAT():将日期时间值格式化为指定的字符串:

SELECT DATE_FORMAT('2023-03-11 15:32:45', '%Y-%m-%d %H:%i:%s');
//这将返回日期时间值的格式化字符串,即:2023-03-11 15:32:45。您可以在DATE_FORMAT函数的第二个参数中指定所需的格式。

14,TIME_FORMAT():将时间值格式化为指定的字符串格式:

SELECT TIME_FORMAT('15:32:45', '%H:%i:%s');
//这将返回时间值的格式化字符串,即:15:32:45。您可以在TIME_FORMAT函数的第二个参数中指定所需的格式。

15,STR_TO_DATE(): 将字符串转换为日期时间值:

SELECT STR_TO_DATE('2023-03-11', '%Y-%m-%d');
//这将返回字符串对应的日期时间值,即:2023-03-11。您可以在STR_TO_DATE函数的第二个参数中指定所需的格式。

16,WEEKDAY(): 返回给定日期的星期几:

SELECT WEEKDAY('2023-03-11');
//这将返回给定日期的星期几的值,例如:5(表示星期六,周一为0.

17,DAYNAME():返回给定日期的星期几的名称:

SELECT DAYNAME('2023-03-11');
//这将返回给定日期的星期几的名称,即返回"Saturday"

18,MONTHNAME(): 返回给定日期的月份的名称:

SELECT MONTHNAME('2023-03-11');
//这将返回给定日期的月份的名称,例如:March。

19,YEARWEEK(): 返回给定日期的年份和周数:

SELECT YEARWEEK('2023-03-11');
//这将返回给定日期的年份和周数的值,例如:202310。

20,TIMEDIFF():计算两个时间值之间的时间差。

SELECT TIMEDIFF('2023-03-11 16:00:00', '2023-03-11 15:00:00');
//这将返回两个时间值之间的时间差,例如:01:00:00。

21,TIMESTAMPDIFF():计算两个日期时间值之间的时间差,以指定的时间单位返回结果。

SELECT TIMESTAMPDIFF(HOUR, '2023-03-11 15:00:00', '2023-03-11 16:00:00');
//这将返回两个时间值之间的小时数,即:1。

22,UTC_DATE():返回当前UTC日期。

SELECT UTC_DATE();
//这将返回当前UTC日期的值,例如:2023-03-11。

23,UTC_TIME():返回当前UTC时间。

SELECT UTC_TIME();
//这将返回当前UTC时间的值,例如:15:32:45。

24,UTC_TIMESTAMP():返回当前UTC日期和时间。

SELECT UTC_TIMESTAMP();
//这将返回当前UTC日期和时间的值,例如:2023-03-11 07:32:45。

25,SEC_TO_TIME():将秒数转换为时间值。

SELECT SEC_TO_TIME(3600);
//这将返回秒数对应的时间值,即:01:00:00。

26,TIME_TO_SEC():将时间值转换为秒数。

SELECT TIME_TO_SEC('01:00:00');
//这将返回时间值对应的秒数,即:3600。

27,LAST_DAY():获取指定时间的当月的最后一天

SELECT LAST_DAY(DATE('2023-03-11  16:00:03'));
//返回的结果为“2023-03-31”

28,ADDDATE(): 将日期加上指定的天数

SELECT ADDDATE('2023-03-11', INTERVAL 7 DAY);
//这将返回日期加上7天后的值,即:2023-03-18。

29,SUBDATE(): 将日期减去指定的天数

SELECT SUBDATE('2023-03-11', INTERVAL 7 DAY);
//这将返回日期减去7天后的值,即:2023-03-04。

30,DATEDIFF(): 计算两个日期之间的天数差

SELECT DATEDIFF('2023-03-11', '2023-03-04');
//这将返回两个日期之间的天数差,即:7。

31,TIMEDIFF(): 计算两个时间之间的时间差

SELECT TIMEDIFF('23:59:59', '12:00:00');
//这将返回两个时间之间的时间差,即:11:59:59。

32,TIMESTAMPDIFF(): 计算两个日期之间的差

SELECT TIMESTAMPDIFF(DAY, '2023-03-04', '2023-03-11');
这将返回两个日期之间的天数差,即:7。可以在TIMESTAMPDIFF函数的第一个参数中指定所需的时间单位。

33,计算当前月份的第一天和最后一天:

SELECT DATE_FORMAT(NOW(), '%Y-%m-01') AS first_day_of_month, LAST_DAY(NOW()) AS last_day_of_month;
//这将返回当前月份的第一天和最后一天的值,例如:2023-03-01和2023-03-31。

34,计算指定月份的第一天和最后一天:

SELECT DATE_FORMAT('2023-06-15', '%Y-%m-01') AS first_day_of_month, LAST_DAY('2023-06-15') AS last_day_of_month;
//这将返回指定月份的第一天和最后一天的值,例如:2023-06-01和2023-06-30。

35,计算当前周的第一天和最后一天:

SELECT DATE_FORMAT(DATE_ADD(NOW(), INTERVAL(1-DAYOFWEEK(NOW())) DAY), '%Y-%m-%d') AS first_day_of_week, DATE_FORMAT(DATE_ADD(NOW(), INTERVAL(7-DAYOFWEEK(NOW())) DAY), '%Y-%m-%d') AS last_day_of_week;
//这将返回当前周的第一天和最后一天的值(默认周日为每周的第一天),例如:2023-03-05和2023-03-11。

36,计算指定日期所在周的第一天和最后一天:

SELECT DATE_FORMAT(DATE_ADD('2023-06-15', INTERVAL(1-DAYOFWEEK('2023-06-15')) DAY), '%Y-%m-%d') AS first_day_of_week, DATE_FORMAT(DATE_ADD('2023-06-15', INTERVAL(7-DAYOFWEEK('2023-06-15')) DAY), '%Y-%m-%d') AS last_day_of_week;
//这将返回指定日期所在周的第一天和最后一天的值,例如:2023-06-11和2023-06-17。
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
关系型数据库 MySQL 数据挖掘
轻松入门MySQL:利用MySQL时间函数优化产品销售数据统计与分析(9)
轻松入门MySQL:利用MySQL时间函数优化产品销售数据统计与分析(9)
|
1月前
|
关系型数据库 MySQL 数据挖掘
MYSQL日期与时间函数的实用技巧
MYSQL日期函数与时间函数是数据库操作的关键工具,可轻松处理、查询、比较和格式化日期时间数据。它们能提取日期的年、月、日等部分,便于筛选和统计;同时,也能处理时间数据,如计算时间差、获取当前时间,助力用户更好地管理时间信息。掌握这些函数,不仅能提升数据库操作效率,还能为数据分析和报表生成提供有力支持。无论初学者还是资深数据库管理员,精通MYSQL的日期和时间函数都至关重要,以满足各种数据处理需求,确保数据的准确性和高效性。
120 0
|
1天前
|
关系型数据库 MySQL 数据库
mysql之日期时间函数
SELECT SECOND('12:45:31'); -- 结果: 31 请注意,以上结果取决于实际查询执行的时间和日期。在实际的数据库操作中,通常会使用列名作为参数,而不是直接使用硬编码的日期或时间值。例如: SELECT YEAR(birthdate) FROM employees; 这将返回 employees 表中每位员工的 birthdate 列的年份。日期和时间函数在处理数据时非常有用,特别是当你需要对日期和时间进行操作或计算时。 ————————————————
5 0
|
1月前
|
SQL 关系型数据库 MySQL
|
1月前
|
SQL 关系型数据库 MySQL
MySQL中的时间函数Now和SYSDate有什么区别?
MySQL中的时间函数Now和SYSDate有什么区别?
43 1
|
8月前
|
关系型数据库 MySQL
【MySQL用法】mysql日期时间函数总结(附带mysql官网介绍)
【MySQL用法】mysql日期时间函数总结(附带mysql官网介绍)
156 0
|
10月前
|
关系型数据库 MySQL
[MySQL]日期和时间函数(二)
[MySQL]日期和时间函数(二)
|
10月前
|
Unix 关系型数据库 MySQL
|
12月前
|
索引
MySQL-日期和时间函数
MySQL-日期和时间函数
|
关系型数据库 MySQL
Mysql日期和时间函数1
Mysql日期和时间函数
50 0