DECLARE @SDATE VARCHAR(10) --开始时间 DECLARE @EDATE VARCHAR(10) --结束时间 DECLARE @MAX_DIFF INT --最大允许误差的天数 SET @SDATE='2014-08-15' SET @EDATE='2014-10-14' SET @MAX_DIFF=2 --根据楼主客户的需求,暂定最大误差天数为2 SELECT (CASE WHEN DATEDIFF(MONTH,@SDATE,DATEADD(DAY,@MAX_DIFF,@EDATE))>DATEDIFF(MONTH,@SDATE,@EDATE) THEN DATEDIFF(MONTH,@SDATE,@EDATE)+1 ELSE DATEDIFF(MONTH,@SDATE,@EDATE) END) 很简单,上面这条语句可以搞定,你要让客户确定,最大允许误差天数。这样就可以
select DATEDIFF(day,'2014-1-1','2014-3-30')还是某个日期前推或是后推(2个月或是3个月)后的另一个日期?
select DATEADD(MM,2,'2014-2-15')--这个是2个月后的另一个日期select DATEADD(day,60,'2014-2-15')--这个是60天后的另一个日期
DECLARE @SDATE VARCHAR(10) --开始时间
DECLARE @EDATE VARCHAR(10) --结束时间
DECLARE @MAX_DIFF INT --最大允许误差的天数
SET @SDATE='2014-08-15'
SET @EDATE='2014-10-14'
SET @MAX_DIFF=2 --根据楼主客户的需求,暂定最大误差天数为2
SELECT (CASE WHEN DATEDIFF(MONTH,@SDATE,DATEADD(DAY,@MAX_DIFF,@EDATE))>DATEDIFF(MONTH,@SDATE,@EDATE) THEN DATEDIFF(MONTH,@SDATE,@EDATE)+1 ELSE DATEDIFF(MONTH,@SDATE,@EDATE) END)
很简单,上面这条语句可以搞定,你要让客户确定,最大允许误差天数。这样就可以
ANF 时间<'2014-04-01'