在SQL中从给定日期获取月份

在使用SQL数据库时,您可能会遇到需要提取日期的特定部分的情况。例如,您可能需要提取特定行包含的日期、月份或年份。

在本教程中,我们将探讨可用于从各种SQL数据库中的给定日期提取月份的所有方法和技术。

MySQL / SQL服务器

让我们从最流行和最强大的SQL数据库之一——MySQL开始。在MySQL中,我们可以使用各种方法从给定的日期提取月份。

方法一:Month(

MySQL为我们提供了一种非常方便的方法,我们可以使用它从给定的日期提取月份。

month()函数的语法如下:

SELECT MONTH(date_column) AS extracted_month

从table_name;

在本例中,我们指定包含日期值的列。我们还可以指定日期文字或日期表达式。

考虑下面的示例,演示如何将此函数与日期文字一起使用:

查询MONTH('2024-01-08')作为jan;

这将以整数值的形式返回指定日期之后的月份。使用示例输出如下:

1月|

---+

1 |

我们也可以在日期列上完成相同的操作,如下所示:

select title, MONTH(last_update) from film limit 3;

给定的查询应该从“last_update”列中提取月份,如结果输出所示。

注意:这个方法应该在SQL Server数据库中工作得差不多。

方法2:使用Date_Format()函数

在MySQL中,我们可以访问date_format()方法,它允许我们将日期值格式化为特定的格式。

我们还可以使用这个函数使用“%m”说明符从日期中提取月份,如下面的语法所示:

SELECT DATE_FORMAT(date_column, '%m') AS extracted_month

从table_name;

与month()函数类似,我们可以指定日期文字、日期列或日期表达式。

考虑如下所示的例子:

SELECT DATE_FORMAT('2024-01-08', '%m') AS jan;

这将返回从指定日期开始的月份,如下所示:

1月|

---+

01 |

PostgreSQL

让我们继续讨论PostgreSQL。像MySQL一样,我们有一些方法和技术可以用来从给定的日期提取月份。

方法一:提取()

在PostgreSQL中,我们有一个方便命名的函数extract(),它允许我们从给定的日期值中提取特定的日期部分。

我们可以使用这个函数从给定的日期提取月份。函数语法如下:

选择EXTRACT(MONTH FROM date_column)作为extracted_month

查看表名

我们还可以指定日期文字、日期列或日期表达式。

此函数的示例用法如下:

SELECT EXTRACT(MONTH FROM '2024-01-08'::date)作为jan;

该查询应该以数值形式返回日期的月份值。

方法二:Date_Part()

是的,在PostgreSQL中有一个叫做date_part()的函数。我们可以使用它从指定的日期快速提取月份。

函数语法如下面的代码片段所示:

SELECT DATE_PART('month', date_column) AS extracted_month

查看表名

示例用法如下:

SELECT DATE_PART('month', '2024-01-08'::date)作为jan;

这将返回从指定日期开始的月份值。

结论

在本教程中,我们学习了用于从给定日期值提取月份和其他日期部分的各种方法和函数。