SQL Server将日期转成年月

在SQL Server中,我们经常需要对日期进行格式转换。有时候,我们只需要获取日期的年份或者月份,而不需要其他的信息。本篇文章将为您介绍如何将日期转换成年月的方法,并附有相应的代码示例。

方法一:使用YEAR()和MONTH()函数

SQL Server内置了一些日期函数,其中包括YEAR()和MONTH()函数。YEAR()函数用于提取日期的年份,MONTH()函数用于提取日期的月份。我们可以将这两个函数结合起来使用,将日期转换成年月。

首先,我们需要创建一个包含日期的表格,并插入一些示例数据。

CREATE TABLE dates (
    id INT IDENTITY(1,1),
    date_column DATE
);

INSERT INTO dates (date_column) VALUES ('2022-01-01');
INSERT INTO dates (date_column) VALUES ('2022-02-01');
INSERT INTO dates (date_column) VALUES ('2022-03-01');
INSERT INTO dates (date_column) VALUES ('2022-04-01');
INSERT INTO dates (date_column) VALUES ('2022-05-01');

接下来,我们可以使用YEAR()和MONTH()函数来提取日期的年份和月份。

SELECT YEAR(date_column) AS year, MONTH(date_column) AS month
FROM dates;

运行以上代码,我们将得到如下结果:

year | month
-----|------
2022 | 1
2022 | 2
2022 | 3
2022 | 4
2022 | 5

从结果中可以看出,我们成功地将日期转换成了年份和月份。

方法二:使用FORMAT()函数

SQL Server 2012及更高版本引入了FORMAT()函数,该函数可以根据指定的格式将日期转换成字符串。我们可以使用该函数将日期转换成年月的格式。

以下是一个示例:

SELECT FORMAT(date_column, 'yyyy-MM') AS year_month
FROM dates;

运行以上代码,我们将得到如下结果:

year_month
----------
2022-01
2022-02
2022-03
2022-04
2022-05

从结果中可以看出,我们成功地将日期转换成了形如"年份-月份"的格式。

方法三:使用CONVERT()函数

另一种将日期转换成年月的方法是使用CONVERT()函数。CONVERT()函数可以将一个数据类型转换成另一个数据类型,并可以指定转换的格式。

以下是一个示例:

SELECT CONVERT(VARCHAR(7), date_column, 120) AS year_month
FROM dates;

运行以上代码,我们将得到如下结果:

year_month
----------
2022-01
2022-02
2022-03
2022-04
2022-05

从结果中可以看出,我们成功地将日期转换成了形如"年份-月份"的格式。

总结

本文介绍了三种将日期转换成年月的方法,分别是使用YEAR()和MONTH()函数、使用FORMAT()函数以及使用CONVERT()函数。根据实际需求,您可以选择最适合的方法来进行日期转换。

希望本文对您学习SQL Server日期转换有所帮助!

引用形式的描述信息:本文参考了[Microsoft官方文档](

以下是饼状图的示例:

pie
    title 年份分布
    "2022" : 50
    "2021" : 30
    "2020" : 20

以上是关于SQL Server将日期转成年月的介绍,希望对您有帮助!如果您有任何问题,请随时提问。