SQL MONTH()函数

SQL MONTH()函数

指定日期的月份由SQL MONTH()函数返回的整数表示。它返回1代表一月,2代表二月,依此类推。MONTH()方法的参数可以是字面日期值,也可以是解析为TIME、DATE、SMALLDATETIME、DATETIME、DATETIME2或DATETIMEOFFSET值的表达式。

MONTH()函数返回与DATEPART()相同的值。DATEPART()函数是SQL中的内置函数,用于从日期值(如年、月或日)或时间值(如小时、分钟或秒)中检索特定段(作为整数)。

语法

以下是SQL MONTH()函数的语法−

MONTH(date)

参数

此函数接受一个参数,参数如下所述 –

  • date - 日期是一个具有可解析时间、日期、smalldatetime、datetime、datetime2或datetimeoffset值的表达式。日期参数可以是字符串字面值、表达式、列表达式或用户定义的变量。

注意 - 如果给定的日期仅包含时间部分,则month()函数返回1。

示例

在以下查询中,我们使用以下查询检索特定日期的月份 –

SELECT MONTH('2023/02/17 10:48') AS MONTH;

输出

当我们执行上述查询时,输出结果如下 –

+-------+
| MONTH |
+-------+
| 2     |
+-------+

示例

在这里,我们通过使用以下查询来找到只包含时间部分的日期所对应的月份 –

SELECT MONTH('10:48') AS Result;

输出

执行上述查询后,输出如下所示-

+--------+
| Result |
+--------+
| 1      |
+--------+

示例

如果传递的参数为NULL, MONTH() 函数将返回一个空值。

在下面的示例中,我们将NULL值作为参数传递给month()函数,并通过执行以下查询来获取月份。

SELECT MONTH(NULL) AS MONTH;

输出

上述查询的输出如下所示:

+-------+
| MONTH |
+-------+
| NULL  |
+-------+

示例

看下面的示例,其中我们使用了一种常规的方法来获取当前月份,使用以下查询:

SELECT MONTH(GETDATE()) AS 'Current Month';

输出

如果我们执行上述查询,结果如下所示−

+--------------+
| CurrentMonth |
+--------------+
| 2            |
+--------------+

示例

考虑以下示例,在这个示例中,我们使用CURRENT_TIMESTAMP来获取当前月份,运行以下查询。

SELECT MONTH(CURRENT_TIMESTAMP) AS CurrentMonth;

输出

执行上述查询后,将会生成如下所示的输出结果:

+--------------+
| CurrentMonth |
+--------------+
| 2            |
+--------------+

示例

让我们看下面的示例,我们使用日期作为参数,并且使用包含时间的变量和MONTH()函数,运行查询以检索月份 –

DECLARE @DATE VARCHAR(22);
SET @DATE = '2023/02/17 11:11';
SELECT MONTH(@DATE) AS Month;

输出

在执行上述查询时,它将生成如下所示的输出:

+-------+
| Month |
+-------+
| 2     |
+-------+

示例

假设我们使用CREATE语句在SQL数据库中创建了一个名为IPLPlayers的表,如以下查询所示:

CREATE TABLE IPLPlayers(
   ID INT,
   Name VARCHAR(255),
   Date_Of_Birth date,
   Country VARCHAR(255),
   PRIMARY KEY (ID)
);

现在,让我们使用INSERT语句将一些记录插入到IPLPlayers表中,如下面的查询所示−

现在,让我们使用INSERT语句将一些记录插入到IPLPlayers表中,如下面的查询所示−

INSERT INTO IPLPlayers VALUES (1, 'Shikhar','1999-11-10','India');
INSERT INTO IPLPlayers VALUES (2, 'Dhoni','1992-12-11','Jharkhand');
INSERT INTO IPLPlayers VALUES (3, 'Gayle','1993-10-12','Westindies');
INSERT INTO IPLPlayers VALUES (4, 'Williamson','1992-09-23','NewZealand');

我们可以使用以下查询来验证表IPLPlayers是否已创建:

我们可以使用以下查询来验证表IPLPlayers是否已创建-

SELECT * FROM IPLPlayers;

表格 IPLPlayers 在 SQL 数据库中已成功创建 −

+----+------------+---------------+------------+
| ID | Name       | Date_Of_Birth | Country    |
+----+------------+---------------+------------+
| 1  | Shikhar    | 1999-11-10    | India      |
| 2  | Dhoni      | 1992-12-11    | Jharkhand  |
| 3  | Gayle      | 1993-10-12    | Westindies |
| 4  | Williamson | 1992-09-23    | NewZealand |
+----+------------+---------------+------------+

现在我们要通过运行以下查询从表IPLPlayers中的列Date_Of_Birth中提取所有实体的月份:

SELECT Name, Date_Of_Birth, Country,
MONTH(Date_Of_Birth) AS Month FROM IPLPlayers;

输出

当我们执行上述查询时,输出结果如下:

+------------+---------------+------------+-------+
| Name       | Date_Of_Birth | Country    | Month |
+------------+---------------+------------+-------+
| Shikhar    | 1999-11-10    | India      | 11    |
| Dhoni      | 1992-12-11    | Jharkhand  | 12    |
| Gayle      | 1993-10-12    | Westindies | 10    |
| Williamson | 1992-09-23    | NewZealand | 9     |
+------------+---------------+------------+-------+

示例

在以下示例中,我们使用MONTH()函数与变量一起使用,并通过运行以下查询来检索指定日期的月份 –

DECLARE @DATE VARCHAR(22);
SET @DATE = '2023/02/16';
SELECT MONTH(@DATE) AS Month;

输出

运行上述查询后,将生成如下所示的输出结果:

+-------+
| Month |
+-------+
| 2     |
+-------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程