Summary: in this tutorial, you will learn how to use the MySQL DAYNAME()
function to get the name of the day for a specific date.
Introduction to MySQL DAYNAME() function
The DAYNAME
function allows you to get the the name of a day for a specified date. The following illustrates the syntax of the DAYNAME
function:
DAYNAME(date);
Code language: SQL (Structured Query Language) (sql)
In this syntax:
date
: This is aDATE
orDATETIME
value that you want to get the day’s name.
The DAYNAME()
function returns a string that represents the day name for a date.
By default, the DAYNAME()
function returns the name of the day in the locale which is set by the lc_time_names
system variable.
To show the current value of the variable, you use the following statement:
SELECT @@lc_time_names;
Code language: CSS (css)
Output:
+-----------------+
| @@lc_time_names |
+-----------------+
| en_US |
+-----------------+
1 row in set (0.00 sec)
Code language: JavaScript (javascript)
The output shows that the current locale is en_US
. It means that the DAYNAME()
will return the string "Monday"
if the date is Monday:
SELECT DAYNAME('2023-10-16');
Code language: JavaScript (javascript)
Output:
+-----------------------+
| DAYNAME('2023-10-16') |
+-----------------------+
| Monday |
+-----------------------+
1 row in set (0.00 sec)
Code language: JavaScript (javascript)
If you want to get the day name in a specific locale, you need to change the value of the lc_time_names
variable.
For example, the following assigns the value 'fr_FR'
to the lc_time_names
variable that sets the locale to French:
SET @@lc_time_names = 'fr_FR';
Code language: CSS (css)
Here’s the day’s name in French:
SELECT DAYNAME('2023-10-16');
Code language: JavaScript (javascript)
Output:
+-----------------------+
| DAYNAME('2023-10-16') |
+-----------------------+
| lundi |
+-----------------------+
1 row in set (0.00 sec)
Code language: JavaScript (javascript)
The DAYNAME()
function returns NULL
if the date
is NULL
or invalid e.g., 2017-02-30
.
MySQL DAYNAME() function examples
Let’s take some examples of using the DAYNAME()
function.
1) Simple DAYNAME() function example
The following example uses the DAYNAME()
function to return the name of a day for January 1st, 2000
:
SELECT DAYNAME('2000-01-01') dayname;
Code language: JavaScript (javascript)
Output:
+----------+
| dayname |
+----------+
| Saturday |
+----------+
1 row in set (0.00 sec)
Code language: SQL (Structured Query Language) (sql)
2) Using the DAYNAME() function with table data
We’ll use the orders
table from the sample database:
The following statement uses the DAYNAME()
function to get the order count grouped by the day name in 2004.
SELECT
DAYNAME(orderdate) day,
COUNT(*) total_orders
FROM
orders
WHERE
YEAR(orderdate) = 2004
GROUP BY
day
ORDER BY
total_orders DESC;
Code language: SQL (Structured Query Language) (sql)
Output:
+-----------+--------------+
| day | total_orders |
+-----------+--------------+
| Friday | 35 |
| Wednesday | 29 |
| Thursday | 26 |
| Monday | 24 |
| Tuesday | 24 |
| Saturday | 11 |
| Sunday | 2 |
+-----------+--------------+
7 rows in set (0.00 sec)
Code language: JavaScript (javascript)
The number of orders placed on Friday is the highest and there were only two orders placed on Sunday.
Summary
- Use the
DAYNAME()
function to get the name of the day for a specific date.