文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-08-18 15:50

关注

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。

来源地址:https://blog.csdn.net/weixin_43025151/article/details/129774105

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯