gpt4 book ai didi

sql - 查询一个月的第一天和最后一天

转载 作者:行者123 更新时间:2023-12-05 08:28:15 25 4
gpt4 key购买 nike

如果我有月份的名称,我如何在 SQL 中得到该月的第一天和最后一天?

我有这个查询来返回月份名称:

DECLARE @StartDate  DATETIME,
@EndDate DATETIME;

SELECT @StartDate = '20110501'
,@EndDate = '20110801';


SELECT DATENAME(MONTH, DATEADD(MONTH, x.number, @StartDate)) AS MonthName
FROM master.dbo.spt_values x
WHERE x.type = 'P'
AND x.number <= DATEDIFF(MONTH, @StartDate, @EndDate)

结果:

results

现在,我怎样才能得到那个月的第一天和最后一天?更改查询。

最佳答案

如果你想要一个更通用、更简单的解决方案:

DECLARE @startdate AS DATETIME = GETDATE()
SELECT
DATEADD(MONTH, DATEDIFF(MONTH, 0, @startdate) , 0) as startMonth,
DATEADD(SECOND, -1, DATEADD(MONTH, 1, DATEADD(MONTH, DATEDIFF(MONTH, 0, @startdate) , 0) ) ) as endMonth

给出结果:

startMonth              endMonth
----------------------- -----------------------
2013-06-01 00:00:00.000 2013-06-30 23:59:59.000

关于sql - 查询一个月的第一天和最后一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15742605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com