gpt4 book ai didi

SQL Server While 循环获取每月最后一天

转载 作者:行者123 更新时间:2023-12-03 02:03:29 24 4
gpt4 key购买 nike

我想要每个月的最后一天,所以我写了这样的查询

declare @date datetime set @date='31-jan-2012' 
while @date<='31-Dec-2012'
Begin
print @date
set @date= DATEADD(M,1,@date)
End

但是我得到的结果是这样的

Jan 31 2012 12:00AM
Feb 29 2012 12:00AM
Mar 29 2012 12:00AM
Apr 29 2012 12:00AM
May 29 2012 12:00AM
Jun 29 2012 12:00AM
Jul 29 2012 12:00AM
Aug 29 2012 12:00AM
Sep 29 2012 12:00AM
Oct 29 2012 12:00AM
Nov 29 2012 12:00AM
Dec 29 2012 12:00AM

请帮助我

最佳答案

你可能会更好:-

declare @date datetime;
declare @lastDay datetime;

-- Start on the first day of the next month
-- This'll ensure that your month add doesn't throw
-- weird results
set @date='01-Feb-2012'
while @date<='01-Jan-2013'

Begin
-- Get last day of previous month
set @lastDay = DATEADD(DAY, -1, @date)

-- print that
print @lastDay

-- increment @date to move one month into the future.
set @date= DATEADD(month,1,@date)
End

关于SQL Server While 循环获取每月最后一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14602402/

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