MySQL 如何使用函数在MySQL中计算日期?

MySQL 如何使用函数在MySQL中计算日期?

在MySQL中,有一些非常有用的函数可用于计算日期。以下是一些常用的函数:

阅读更多:MySQL 教程

1. NOW()函数

NOW()函数返回当前日期和时间。它没有参数。

例如,以下查询将返回当前日期和时间:

SELECT NOW();

输出如下:

'2021-10-13 12:34:56'

2. DATE()函数

DATE()函数将日期和时间值截断为日期部分。它的参数是一个日期/时间值。

例如,以下查询将返回当前日期的日期部分。

SELECT DATE(NOW());

输出如下:

'2021-10-13'

3. DATE_ADD()函数和DATE_SUB()函数

DATE_ADD()函数和DATE_SUB()函数用于向日期加减一定数量的时间段。它们都有三个参数:第一个是日期/时间值,第二个是一个时间段,第三个是一个单位。

以下是一些可用单位的列表:

  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR

例如,以下查询将返回今天加上10天的日期。

SELECT DATE_ADD(NOW(), INTERVAL 10 DAY);

输出如下:

'2021-10-23 12:34:56'

以下查询将返回一个月前的日期。

SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH);

输出如下:

'2021-09-13 12:34:56'

4. DATEDIFF()函数

DATEDIFF()函数用于计算两个日期之间的天数差。它有两个参数:第一个是开始日期,第二个是结束日期。

例如,以下查询将返回从今天到2022年1月1日的天数。

SELECT DATEDIFF('2022-01-01', NOW());

输出如下:

'80'

5. DATE_FORMAT()函数

DATE_FORMAT()函数用于将日期/时间值格式化为指定的字符串。它有两个参数:第一个是要格式化的日期/时间值,第二个是要生成的格式。

下面列出了一些可用的格式:

  • %Y:四位数的年份
  • %m:两位数的月份(01到12)
  • %d:两位数的日期(01到31)
  • %H:两位数的小时(00到23)
  • %i:两位数的分钟数(00到59)
  • %s:两位数的秒数(00到59)

例如,以下查询将返回当前日期的英文名称。

SELECT DATE_FORMAT(NOW(), '%W');

输出如下:

'Wednesday'

6. TIMESTAMPDIFF()函数

TIMESTAMPDIFF()函数用于计算两个日期/时间之间的差值。它有三个参数:第一个是单位,第二个是起始日期/时间,第三个是结束日期/时间。

以下是一些可用单位的列表:

  • YEAR
  • QUARTER
  • MONTH
  • DAY
  • HOUR
  • MINUTE
  • SECOND
  • MICROSECOND

例如,以下查询将返回现在和2022年1月1日之间的秒数。

SELECT TIMESTAMPDIFF(SECOND, NOW(), '2022-01-01');

输出如下:

'6912000'

结论

上述函数是MySQL中计算日期最常使用的函数。熟悉它们可以帮助您更轻松地计算和操作日期。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程