MySQL - MONTH() Function



The MySQL MONTH() function is used to retrieve and return the MONTH of the given date or, date time expression. This function returns a numerical value ranging from 1 to 12 representing the month (January to December).

This function accepts the date value in the 'YYYY-MM-DD' format as an argument and retrieves the 'MM' from it. The numerical equivalent of the month of an year is displayed as a result-set.

A NULL value is returned if the date argument passed to the function is NULL.

Syntax

Following is the syntax of MySQL MONTH() function −

MONTH(date);

Parameters

This method accepts the date value from which you need to retrieve the month as a parameter.

Return value

This function returns the MONTH of the given date or, date time expression.

Example

In the following query, we are using the MySQL MONTH() function to fetch the month of the given date value −

SELECT MONTH('2019-05-25') As Result;

Output

This will produce the following result −

Result
5

Example

If the month value in the given date is 0 this function returns 0 −

SELECT MONTH('1789-00-07') As Result;

Output

Following is the output −

Result
0

Example

If we pass an empty string or a non-string value as an argument this function returns NULL.

SELECT MONTH('') As Result;

Following is the output −

Result
NULL

Here, we are passing a non-string value as an argument −

SELECT MONTH(1990-11-11) As Result;

Following is the output −

Result
NULL

Example

We can also pass the date-time expression as an argument to this function −

SELECT MONTH('2015-09-05 09:40:45.2300') As Result;

Output

Following is the output −

Result
9

Example

In the following example, we are retrieving the month (number) from the current date −

SELECT MONTH(CURDATE()) As Result;

Output

Following is the output −

Result
11

Example

In this example, we have created a table named ORDERS using the following CREATE TABLE query −

CREATE TABLE ORDERS (
   OID INT NOT NULL,
   DATE VARCHAR (20) NOT NULL,
   CUSTOMER_ID INT NOT NULL,
   AMOUNT DECIMAL (18, 2)
);

Now, insert the following records into the ORDERS table using the INSERT statement −

INSERT INTO ORDERS VALUES 
(102, '2009-10-08 00:00:00', 3, 3000.00),
(100, '2009-10-08 00:00:00', 3, 1500.00),
(101, '2009-11-20 00:00:00', 2, 1560.00),
(103, '2008-05-20 00:00:00', 4, 2060.00);

Execute the below query to fetch all the inserted records in the above-created table −

Select * From ORDERS;

Following is the ORDERS table −

OID DATE CUSTOMER_ID AMOUNT
102 2009-10-08 00:00:00 3 3000.00
100 2009-10-08 00:00:00 3 1500.00
101 2009-11-20 00:00:00 2 1560.00
103 2008-05-20 00:00:00 4 2060.00

Now, we use the MySQL MONTH() function to extract the month component from all the datetime values in the DATE column of ORDERS table −

SELECT OID, DATE, MONTH(DATE) As Months FROM ORDERS;

Output

The output is displayed as follows −

OID DATE Hour
102 2009-10-08 00:00:00 10
100 2009-10-08 00:00:00 10
101 2009-11-20 00:00:00 11
103 2008-05-20 00:00:00 5
Advertisements