要求:指定一个月份,计算一个日期如果是在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