SQL Server 查询本月开始日期和结束日期

在进行数据库查询时,有时候需要获取当前月份的开始日期和结束日期,以便对数据进行更精确的筛选。在 SQL Server 中,可以通过一些函数和操作来实现这个目的。

使用GETDATE()函数获取当前日期

在 SQL Server 中,可以使用 GETDATE() 函数来获取当前的日期和时间。该函数返回当前的系统日期和时间,可以用来获取当前月份。

SELECT GETDATE()

获取本月的开始日期

要获取当前月份的开始日期,可以利用 DATEADD 函数和 DATEDIFF 函数来计算出本月的开始日期。首先,获取当前日期的年份和月份,然后以此为基础来计算本月的开始日期。

DECLARE @CurrentDate DATE = GETDATE()
DECLARE @StartOfMonth DATE = DATEADD(MONTH, DATEDIFF(MONTH, 0, @CurrentDate), 0)

SELECT @StartOfMonth AS StartOfMonth

在上面的代码中,首先获取当前日期,然后使用 DATEADD 函数和 DATEDIFF 函数来计算出本月的开始日期,并将其存储在 @StartOfMonth 变量中。

获取本月的结束日期

类似地,可以使用 EOMONTH 函数来获取当前月份的结束日期。EOMONTH 函数返回指定日期的月份的最后一天的日期。

DECLARE @EndOfMonth DATE = EOMONTH(@CurrentDate)

SELECT @EndOfMonth AS EndOfMonth

在上面的代码中,使用 EOMONTH 函数来获取当前月份的结束日期,并将其存储在 @EndOfMonth 变量中。

示例

现在我们来看一个完整的示例,查询当前月份的开始日期和结束日期:

DECLARE @CurrentDate DATE = GETDATE()

DECLARE @StartOfMonth DATE = DATEADD(MONTH, DATEDIFF(MONTH, 0, @CurrentDate), 0)
DECLARE @EndOfMonth DATE = EOMONTH(@CurrentDate)

SELECT @StartOfMonth AS StartOfMonth, @EndOfMonth AS EndOfMonth

通过执行上面的代码,就可以获取到当前月份的开始日期和结束日期。

结语

通过以上的方法,我们可以在 SQL Server 中查询当前月份的开始日期和结束日期。这对于需要按月份进行数据筛选和统计的场景非常有用。希望这篇文章对你有所帮助!