文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

交行一面:MySQL 中的时间函数有哪些?该如何使用?

2024-11-28 15:42

关注

NOW()

NOW() 函数返回当前的日期和时间,格式为YYYY-MM-DD HH:MM:SS,它是日常开发中使用频率比较高的函数,用于获取服务器的当前时间。使用语法:

SELECT NOW();
-- 输出示例: '2024-10-30 14:30:00'

使用场景:

CURDATE()和CURTIME()

CURDATE()返回当前日期,格式为YYYY-MM-DD。CURTIME()返回当前时间,格式为HH:MM:SS。使用语法如下:

SELECT CURDATE();
-- 输出示例: '2024-10-30'

SELECT CURTIME();
-- 输出示例: '14:30:00'

使用场景:

UNIX_TIMESTAMP()和FROM_UNIXTIME()

UNIX_TIMESTAMP()返回从1970-01-01 00:00:00 UTC到当前时间的秒数。FROM_UNIXTIME()将 UNIX时间戳转换为 MySQL日期时间格式。使用语法如下:

SELECT UNIX_TIMESTAMP();
-- 输出示例: 1696524600

SELECT FROM_UNIXTIME(1696524600);
-- 输出示例: '2024-10-30 14:30:00'

使用场景:

DATE_FORMAT()

DATE_FORMAT() 函数用于以指定格式返回日期/时间数据。格式化字符串可以包含日期和时间的各种部分,如年、月、日、小时、分钟等。使用语法如下:

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');
-- 输出示例: '2024-10-30 14:30:00'

SELECT DATE_FORMAT(NOW(), '%W, %M %e, %Y');
-- 输出示例: 'Thursday, October 5, 2023'

使用场景:

ADDDATE()和ADDTIME()

ADDDATE()用于向日期添加指定的天数, ADDTIME()用于向时间添加指定的时间。使用语法如下:

SELECT ADDDATE('2024-10-30', INTERVAL 10 DAY);
-- 输出示例: '2024-10-30'

SELECT ADDTIME('14:30:00', '02:00:00');
-- 输出示例: '16:30:00'

使用场景:

DATEDIFF()和TIMEDIFF()

DATEDIFF()用于计算两个日期之间的天数差,TIMEDIFF() 用于计算两个时间之间的时间差。使用语法如下:

SELECT DATEDIFF('2023-10-15', '2024-10-30');
-- 输出示例: 10

SELECT TIMEDIFF('16:30:00', '14:30:00');
-- 输出示例: '02:00:00'

使用场景:

YEAR(),MONTH(),DAY(),HOUR(),MINUTE(),SECOND()

这些函数用于从日期或时间中提取特定的部分,如年、月、日、小时、分钟、秒。使用语法如下:

SELECT YEAR(NOW()), MONTH(NOW()), DAY(NOW());
-- 输出示例: 2024, 10, 30

SELECT HOUR(NOW()), MINUTE(NOW()), SECOND(NOW());
-- 输出示例: 14, 30, 0

使用场景:

STR_TO_DATE()

STR_TO_DATE()函数将字符串转换为日期,根据指定的格式解析字符串。使用语法如下:

SELECT STR_TO_DATE('05-10-2023', '%d-%m-%Y');
-- 输出示例: '2024-10-30'

SELECT STR_TO_DATE('October 5, 2023', '%M %d, %Y');
-- 输出示例: '2024-10-30'

使用场景:

LAST_DAY()

LAST_DAY()函数返回给定日期的月份的最后一天。使用语法如下:

SELECT LAST_DAY('2024-10-30');
-- 输出示例: '2024-10-30'

使用场景:

EXTRACT()

EXTRACT()函数用于从日期或时间中提取特定的部分,与 YEAR(), MONTH()等函数类似,但提供了更灵活的提取选项。使用语法如下:

SELECT EXTRACT(YEAR FROM NOW()), EXTRACT(MONTH FROM NOW()), EXTRACT(DAY FROM NOW());
-- 输出示例: 2024, 10, 30

SELECT EXTRACT(HOUR FROM NOW()), EXTRACT(MINUTE FROM NOW()), EXTRACT(SECOND FROM NOW());
-- 输出示例: 14, 30, 0

使用场景:

总结

MySQL 提供了丰富的时间函数,能够满足各种日期和时间处理需求。

本文,我们介绍了以下 MySQL 的时间函数,这些函数涵盖了日期和时间的获取、计算、格式化、转换等多种操作,可以满足不同的开发需求。总结如下:

  1. NOW() - 返回当前的日期和时间。
  2. CURDATE() - 返回当前日期。
  3. CURTIME() - 返回当前时间。
  4. UNIX_TIMESTAMP() - 返回从 '1970-01-01 00:00:00' UTC 到当前时间的秒数。
  5. FROM_UNIXTIME() - 将 UNIX 时间戳转换为 MySQL 日期时间格式。
  6. DATE_FORMAT() - 以指定格式返回日期/时间数据。
  7. ADDDATE() - 向日期添加指定的天数。
  8. ADDTIME() - 向时间添加指定的时间。
  9. DATEDIFF() - 计算两个日期之间的天数差。
  10. TIMEDIFF() - 计算两个时间之间的时间差。
  11. YEAR() - 从日期中提取年份。
  12. MONTH() - 从日期中提取月份。
  13. DAY() - 从日期中提取日。
  14. HOUR() - 从时间中提取小时。
  15. MINUTE() - 从时间中提取分钟。
  16. SECOND() - 从时间中提取秒。
  17. STR_TO_DATE() - 将字符串转换为日期。
  18. LAST_DAY() - 返回给定日期的月份的最后一天。
  19. EXTRACT() - 从日期或时间中提取特定的部分。
来源:猿java内容投诉

免责声明:

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

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

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

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

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

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

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

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

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