指定月份剩余天数
如何查找当月剩余天数?
示例,如果当前月份是 11 月,今天的日期是 16/11/2016
一个月的天数 – 经过的天数 = ?我想动态地做
在我的例子中 30 – 16 = 14
declare @date date
set @date='16 Nov 2016'
select datediff(day, @date, dateadd(month, 1, @date)) - 16 AS DaysLeft
由于这是 sql server 2008,因此您无法使用 EOMonth(在 2012 版本中引入)。
您必须执行一些日期添加和日期差异:
SELECT DATEDIFF(DAY,
GETDATE(),
DATEADD(MONTH,
1,
DATEADD(DAY, 1 - DAY(GETDATE()), GETDATE())
)
) - 1
解释:
DATEADD(DAY, 1 - DAY(GETDATE()), GETDATE())
获取当前月份的第一天,换行DATEADD
加一个月,包装DATEDIFF
返回当前日期与下个月第一天之间的天数。这就是为什么您需要减去 1 才能得到正确的天数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)