日期:2014-05-17  浏览次数:20482 次

如何判断一个日期到指定的月份时计算年数
本帖最后由 chirea 于 2013-03-11 12:07:37 编辑
要求:指定一个月份,计算一个日期如果是在15之前算,在15之后不算
如:
'2012-03-16'到2013-03月不算一年
'2012-03-14'到2013-03月算一年

------解决方案--------------------
用datepart 和 case 来判断

declare @rq1 smalldatetime,@rq2 smalldatetime
set @rq1='2012-3-14'
set @rq2='2013-3-1'

select case when (case when datepart(d,@rq1)>=15 then datediff(m,@rq1,@rq2) else datediff(m,@rq1,@rq2)-1 end)>=12 then '满一年'
else '不满一年' end