SQL 当前月份简介

1,001 阅读5分钟

SQL Current Month

SQL当前月份简介

SQL当前月份是通过SQL中与日期和时间有关的函数来获取的,其中包括MONTH()函数和GETDATE()函数,这两个函数可以一起使用来获取当前月份的数值,或者我们可以使用DATEPART()函数来获取当前月份的数值,这个数值来自GETDATE()函数所获取的当前日期。很多时候,我们在SQL中可能会面临这样的情况:我们需要知道当前月份的值,并使用它来在查询中应用约束条件,以检索只有当前月份或参考当前月份的数据。在这种情况下,我们首先需要获取当前月份的值。在这篇文章中,我们将学习如何使用不同的方法和函数在SQL中检索当前月份的值,以及我们如何在查询语句中应用条件来使用当前月份的值作为限制条件。

使用MONTH()和GETDATE()函数来获取当前的月份

在SQL中,我们使用GETDATE()方法来获取当前日期的值,也就是今天的日期。让我们尝试执行一个简单的查询语句,我们将使用GETDATE()函数来获取当前日期的值。以下是我们的查询语句,以实现这一目的。

SELECT getdate() AS 'Present Date';

执行上述查询语句的输出结果显示在下面的图片中,它给出了当前的日期和时间。

SQL Current Month 1

现在,为了从GETDATE()函数获取的整个时间和日期字符串中只获取月份值,我们可以简单地使用MONTH()函数,从传递的参数的日期值中获取月份值。由于我们要检索今天的月份值,也就是当前的月份值,所以我们将GETDATE()函数作为参数传递,或者将GETDATE()函数的值作为参数。考虑下面的查询语句-

SELECT MONTH(getdate()) AS "Present Month";

在上面的查询语句中,我们把GETDATE()函数的整个调用作为参数传递给MONTH()函数。因此,执行上述查询语句的输出会检索到当前的月份,如下图所示

SQL Current Month 2

另外,我们甚至可以将第一个查询中GETDATE()函数输出的字面值作为参数提供给MONTH()函数,以获得月份值。考虑一下上述情况的以下查询语句 -

SELECT MONTH(2020-07-04) AS "Month of the provided date";

上述查询语句的输出结果如下 -

SQL Current Month 3

我们可以从输出中观察到,检索到的月份值是来自于传递给它的日期。2020-07-04是写这篇文章的日期。你可以传递你的日期或使用GETDATE()函数作为参数,使用SQL查询语句获得当前的月份值。

使用DATEPART()函数和GETDATE()函数

我们也可以在SQL中使用DATEPART()函数,它可以帮助我们从提供的日期中检索出日期的特定部分,如日、月、年等。为了获取当前日期的月份值,我们可以将GETDATE()函数作为参数传递。DATEPART()函数接受两个参数,第一个参数是要检索的值。它的值可以是月<日,年等,第二个参数是要分割的日期值,并搜索你使用DATEPART()函数的值。我们可以使用DATEPART()函数通过以下查询语句来检索MONTH值----。

select DATEPART(MONTH, GETDATE()) as "Present Month Of the Year";

执行上述查询语句的输出结果如下图所示----。

SQL Current Month 4

我们可以看到,同样的输出是12,因为那是当前月份的值,所以被检索出来。

获取当前月份的名称

如果我们想获取当前月份的名称,而不是其数值,我们可以使用SQL函数,如FORMAT()或DATENAME()来实现。 让我们首先讨论一下FORMAT()函数。FORMAT()函数接受两个参数,一个是你想从中获取月份值的日期,另一个是显示月份名称的格式。例如,如果你想只打印开头的三个字符的月份,那么格式将是 "MMM",如果你想打印整个月份的名称,那么格式需要指定为 "MMMM"。为了检索当前的月份,我们需要把当前的日期作为第一个参数,可以使用GETDATE()函数发送。我们将使用下面的查询语句来获取当前月份的名称 -

SELECT FORMAT(GETDATE(),'MMMM') AS Month;

执行上述查询语句的输出结果如下图所示----。

output

同样地,我们可以使用DATENAME函数通过SQL查询来打印月份的名称。我们可以使用下面的查询语句,用DATENAME()函数获得当前月份名称的值-

SELECT DATENAME(month, GETDATE()) AS Month;

执行上述查询语句的输出结果如下图所示--。

output 1

我们也可以使用MONTH函数只检索当前月份的数据,如果表中有任何字段存储了交易的日期,我们可以通过使用以下限制MONTH(DateStoredInField)=MONTH(GETDATE())来比较该日期的月份和当前月份。

结论

我们可以使用MONTH()和DATEPART()函数以及GETDATE()函数在SQL中检索当前的月份值。要检索月份的名称,可以使用SQL中的DATENAME()和FORMAT()等函数。

推荐文章

这是一个关于SQL当前月份的指南。这里我们讨论了简介,使用MONTH()和GETDATE()函数来获取当前月份的代码实现。你也可以看看下面的文章来了解更多----。

  1. SQL 排名函数
  2. SQL Server 替换
  3. SQL DATEADD()
  4. SQL 重命名表