MySQL DAYOFYEAR Function

MySQL DAYOFYEAR function is one of the MySQL Date Functions, which returns the day number of the year from the given date. This function returns a value from 1 to 366.

Let us see how to use this DAYOFYEAR function to get the day number of the year or Day of Year in MySQL from an expression with example. The basic syntax of the DAYOFYEAR() Function in MySQL is as shown below:

DAYOFYEAR(date or expression);

MySQL DAYOFYEAR function Example

These examples help you understand the use of dayofyear function. Here, we are returning the day of year number from the date expression, and the Date & time expression.

SELECT DAYOFYEAR('2017-12-31');

SELECT DAYOFYEAR('2017-01-01');

SELECT DAYOFYEAR('2018-05-26 01:09:22');
MySQL DAYOFYEAR Function 1

Let us see another example of the MySQL DAYOFYEAR function. Here, we are returning the day of year number from the current date and time returned by the Now() and CURDATE() function.

SELECT DAYOFYEAR(NOW()), DAYOFYEAR(CURRENT_DATE());
MySQL DAYOFYEAR Function 2

MySQL DAYOFYEAR Function Example 2

The following MySQL queries show you what happens when we try to return the day of year value from string date, 0 date format, or invalid dates.

SELECT DAYOFYEAR(NOW() + 2);

SELECT DAYOFYEAR('2018-22-14');

SELECT DAYOFYEAR('2018-00-00');
MySQL DAYOFYEAR Function 3

From the above Date Function screenshot, DAYOFYEAR(‘2018-22-14’); statement returned NULL. Because it’s an invalid date. Within the Last statement, DAYOFYEAR(‘2018-00-00’) means, we are trying to extract the day of the year from a zero date part. That’s why it returns NULL.