MySQL日期时间函数大全

在MySQL数据库中,日期时间函数是处理时间相关数据的重要工具。这些函数可以帮助开发者轻松地进行日期和时间的计算、格式转换以及获取系统时间等操作。以下是MySQL中一些常用的日期时间函数及其详细用法

1. 获取当前时间

1.1 NOW()

  • 描述返回当前的日期和时间。
  • 用法SELECT NOW();
  • 示例
    SELECT NOW();

    返回结果:'2023-04-01 12:34:56'

1.2 CURDATE()

  • 描述:返回当前的日期(不包含时间)。
  • 用法SELECT CURDATE();
  • 示例
    SELECT CURDATE();

    返回结果:'2023-04-01'

1.3 CURRENT_DATE()

  • 描述:返回当前的日期(不包含时间)。
  • 用法SELECT CURRENT_DATE();
  • 示例
    SELECT CURRENT_DATE();

    返回结果:'2023-04-01'

1.4 CURRENT_TIME()

  • 描述:返回当前的时间(不包含日期)。
  • 用法SELECT CURRENT_TIME();
  • 示例
    SELECT CURRENT_TIME();

    返回结果:'12:34:56'

2. 日期时间格式转换

2.1 DATE_FORMAT()

  • 描述:将日期时间值格式化为指定的格式。
  • 用法DATE_FORMAT(date, format)
  • 示例
    SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');

    返回结果:'2023-04-01 12:34:56'

2.2 STR_TO_DATE()

  • 描述:将字符串按照指定的格式转换为日期时间值。
  • 用法STR_TO_DATE(str, format)
  • 示例
    SELECT STR_TO_DATE('2023-04-01', '%Y-%m-%d');

    返回结果:'2023-04-01 00:00:00'

3. 日期时间运算

3.1 DATEDIFF()

  • 描述:返回两个日期之间的天数差。
  • 用法DATEDIFF(date1, date2)
  • 示例
    SELECT DATEDIFF('2023-04-01', '2023-03-01');

    返回结果:30

3.2 DATE_ADD()

  • 描述:向指定日期添加一个时间间隔。
  • 用法DATE_ADD(date, INTERVAL expr unit)
  • 示例
    SELECT DATE_ADD('2023-04-01', INTERVAL 2 DAY);

    返回结果:'2023-04-03'

3.3 DATESUB()

  • 描述:从指定日期中减去一个时间间隔。
  • 用法DATESUB(date, INTERVAL expr unit)
  • 示例
    SELECT DATESUB('2023-04-01', INTERVAL 2 DAY);

    返回结果:'2023-03-29'

4. 获取年、月、日

4.1 YEAR()

  • 描述:返回当前年份。
  • 用法YEAR(date)
  • 示例
    SELECT YEAR(NOW());

    返回结果:2023

4.2 MONTH()

  • 描述:返回当前月份。
  • 用法MONTH(date)
  • 示例
    SELECT MONTH(NOW());

    返回结果:4

4.3 DAY()

  • 描述:返回今天是这个月中的第几天。
  • 用法DAY(date)
  • 示例
    SELECT DAY(NOW());

    返回结果:1

5. 其他日期时间函数

以下是一些其他有用的日期时间函数:

  • WEEK():返回给定日期是一年中的第几周。
  • QUARTER():返回给定日期是一年中的第几季度。
  • HOUR():返回给定时间的小时数。
  • MINUTE():返回给定时间的分钟数。
  • SECOND():返回给定时间的秒数。

通过以上介绍,相信大家对MySQL中的日期时间函数有了更深入的了解。在实际应用中,合理运用这些函数,可以大大提高数据处理效率。