How the DAYOFYEAR() function works in Mariadb?

The DAYOFYEAR() function is a date and time function that returns the day of the year for a given date.

Posted on

The MariaDB DAYOFYEAR() function is used to determine the day number of the year for a given date, returning an integer between 1 and 366. This function is useful for calculations involving the position of a date within a year, such as determining the number of days since the beginning of the year or the number of days remaining until the end of the year.

Syntax

The syntax for the MariaDB DAYOFYEAR() function is as follows:

DAYOFYEAR(date)
  • date is the date from which you want to extract the day number of the year.

Examples

Example 1: Day Number of a Specific Date

To get the day number of the year for a specific date:

SELECT DAYOFYEAR('2024-03-17') AS day_number;

The output will be:

+------------+
| day_number |
+------------+
|         77 |
+------------+

This indicates that March 17th is the 77th day of the year 2024.

Example 2: Day Number of Today

To find out the day number of the year for today:

SELECT DAYOFYEAR(CURDATE()) AS today_day_number;

The output will show the day number of the year for today:

+------------------+
| today_day_number |
+------------------+
|               77 |
+------------------+

Example 3: Days Since the Beginning of the Year

To calculate the number of days since the beginning of the year:

SELECT DAYOFYEAR(CURDATE()) - 1 AS days_since_start;

The output will show the number of days since the start of the year:

+------------------+
| days_since_start |
+------------------+
|               76 |
+------------------+

Example 4: Days Remaining in the Year

To calculate the number of days remaining in the year:

SELECT 365 - DAYOFYEAR(CURDATE()) AS days_remaining;

The output will show the number of days remaining in the year:

+----------------+
| days_remaining |
+----------------+
|            288 |
+----------------+

Note: For leap years, replace 365 with 366.

Example 5: Comparing Day Numbers of Two Dates

To compare the day numbers of two different dates:

SELECT DAYOFYEAR('2024-12-31') - DAYOFYEAR('2024-01-01') AS days_between;

The output will show the number of days between January 1st and December 31st:

+--------------+
| days_between |
+--------------+
|          365 |
+--------------+

Here are a few functions related to the MariaDB DAYOFYEAR() function:

  • MariaDB TO_DAYS() function converts a date to a day number, which can be useful for date calculations.
  • MariaDB YEAR() function is used to extract the year from a date.
  • MariaDB DATE_ADD() function adds a specified time interval to a date.

Conclusion

The DAYOFYEAR() function in MariaDB is an essential tool for working with dates in relation to their position within a year. It provides a simple method for performing calculations that depend on the day number of the year, which can be particularly useful for financial calculations, scheduling, and time-based data analysis. By leveraging DAYOFYEAR() and related functions, developers can efficiently handle date-related queries and enhance the functionality of their database applications.