MySQL DAYOFYEAR 是日期函数之一,它返回给定日期的年份中的第几天。该函数返回 1 到 366 之间的值。
让我们看看如何使用 DAYOFYEAR 函数来获取年份中的第几天或表达式的年份中的第几天,并附带一个示例。DAYOFYEAR() 方法的基本语法如下所示:
DAYOFYEAR(date or expression);
MySQL DAYOFYEAR 函数示例
这些示例有助于您理解年份中的第几天方法的用法。在这里,我们正在从日期和日期时间表达式中返回年份中的第几天数。
SELECT DAYOFYEAR('2017-12-31');
SELECT DAYOFYEAR('2017-01-01');
SELECT DAYOFYEAR('2018-05-26 01:09:22');

让我们来看另一个 DAYOFYEAR 函数的示例。在这里,我们正在从 Now() 和 CURDATE() 方法返回的当前日期时间中返回年份中的第几天数。
SELECT DAYOFYEAR(NOW()), DAYOFYEAR(CURRENT_DATE());
51 | 51
MySQL DAYOFYEAR 示例 2
以下 MySQL DAY OF YEAR 示例查询显示了当我们尝试从字符串日期、0 格式或无效日期返回年份中的第几天值时会发生什么。
SELECT DAYOFYEAR(NOW() + 2);
SELECT DAYOFYEAR('2018-22-14');
SELECT DAYOFYEAR('2018-00-00');

从上面的日期方法截图(“2018-22-14”)来看,该语句返回了 NULL。因为它是一个无效的日期。在最后一个语句中,“(2018-00-00)”意味着我们正在尝试从零日期部分提取年份中的第几天。这就是为什么它返回 NULL。