MySQL DAYOFYEAR() 用法与实例

在 MySQL 中,DAYOFYEAR() 函数用于从给定的日期返回一年中的某天,它返回一个介于 1 和 366 之间的整数。

发布于

在 MySQL 中,DAYOFYEAR() 函数用于从给定的日期返回一年中的某天,它返回一个介于 1 和 366 之间的整数。

例如, 2023-01-31 是 2023 年的第 31 天。

语法

您可以使用以下语法:

DAYOFYEAR(date)

基本示例

下面的示例展示了 MySQL DAYOFYEAR() 函数的基本用法:

SELECT DAYOFYEAR('2023-01-31');

输出:

+-------------------------+
| DAYOFYEAR('2023-01-31') |
+-------------------------+
|                      31 |
+-------------------------+

日期和时间

MySQL DAYOFYEAR() 函数允许您使用日期和时间值:

SELECT DAYOFYEAR('2023-01-31 01:02:03');

输出:

+----------------------------------+
| DAYOFYEAR('2023-01-31 01:02:03') |
+----------------------------------+
|                               31 |
+----------------------------------+

当前日期

要获取当前日期是一年中的第几天,请使用以下语句:

SELECT
  CURDATE(),
  DAYOFYEAR(CURDATE());

输出:

+------------+----------------------+
| CURDATE()  | DAYOFYEAR(CURDATE()) |
+------------+----------------------+
| 2023-01-31 |                   31 |
+------------+----------------------+

本示例使用了 CURDATE() 获取当前日期。可以使用 NOW() 代替 CURDATE()

DAYOFYEAR() vs DAYOFMONTH()

下面是一个示例来演示 DAYOFYEAR()DAYOFMONTH() 函数之间的区别。

SELECT
  DAYOFMONTH('2023-02-01'),
  DAYOFYEAR('2023-02-01');

输出:

+--------------------------+-------------------------+
| DAYOFMONTH('2023-02-01') | DAYOFYEAR('2023-02-01') |
+--------------------------+-------------------------+
|                        1 |                      32 |
+--------------------------+-------------------------+

DAYOFMONTH 函数返回一个介于 131 之间的值,而 DAYOFYEAR()函数返回一个介于 1366 之间的值。