当前位置: 首页 > article >正文

最全总结---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。

http://www.kler.cn/a/4335.html

相关文章:

  • 利用爬虫获取某学习软件的考试题库(带源码)
  • MySQL NaviCat 安装及配置教程(Windows)【安装】
  • 数据结构--二叉树
  • Stein算法
  • SpringData-Redis缓存之RedisTemplate
  • 【Vue】分享一个快速入门的前端框架以及如何搭建
  • 芯片工程师的ChatGPT初体验(下)
  • Google巨大漏洞让Win10、11翻车,小姐姐马赛克白打了
  • springboot 整合Mybatis-Plus分页、自动填充功能
  • jenkins+sonarqube+自动部署服务
  • 嵌入式学习笔记——PWM与输入捕获(上)
  • leetcode 1402. Reducing Dishes(减少菜肴)
  • linux练习
  • 图解redis的client的实现
  • 如何防御DDOS攻击 DDOS攻击是什么意思
  • golang后端与android端TCP Socket通信数据解析格式问题
  • Linux配置DNS正向和反向解析练习
  • 正确认识2-ArmPEG NH2,2 Branched PEG Amine, 2 Arm/Branched PEG Amine,二臂聚乙二醇胺基,相关知识
  • BAPI_GOODSMVT_CREATE(调拨 收货 发货 入库 退货)BAPI
  • Android Jetpack从使用到源码深耕【开篇】
  • 【洛谷P8306】【模板】字典树
  • 两篇2023 ICLR多模态论文分享(模态互补性对多模态鲁棒性影响 与 对多模表示学习有效的单模学习)
  • 最近的学习目标
  • leetcode112:路径总和
  • wait讲解
  • 网络排查命令