微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取任何一年的任何一个月的最后一天

如何解决获取任何一年的任何一个月的最后一天

declare @comonth int ='10'
declare @coyear int ='2018'

SELECT EOMONTH(@CoYear,@comonth)

我已将 @coyear 设置为 2018 并将 @comonth 设置为 10。我希望结果为 2018-10-31。 (该月的最后一天)。我必须使用什么语句?

解决方法

这与您的 last question 原理相同,为什么我建议您阅读有关 DATEFROMPARTSEOMONTH 的文档,因为它解释了如何使用这两个函数:

DECLARE @comonth int = 10; --Don't wrap numerical values in single quotes(')
DECLARE @coyear int = 2018; --Don't wrap numerical values in single quotes(')

SELECT EOMONTH(DATEFROMPARTS(@coyear,@comonth,1)); --All months's have a day 1
,

适用于所有版本。试试这个:

DECLARE @Year   int         = 2030,@Month  int         = 10
;   
DECLARE @Date   datetime    = CONVERT(datetime,LTRIM(@Year*10000+@Month*100+1))
;
SELECT DATEADD(mm,DATEADD(mm,DATEDIFF(mm,@Date) + 1,0))-1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。