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 中查询当前月份的开始日期和结束日期。这对于需要按月份进行数据筛选和统计的场景非常有用。希望这篇文章对你有所帮助!