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

上月时间处理的问题
情况是这样,我从前台传一个值:2013-08  到后台sql里面要搞成  where data_month BETWEEN '2013-07-26' AND '2013-08-25' 怎么用sqlserver自带的函数控制这个呢,月份不是固定的也有可能是其他月份。
SQL?Server 上月时间

------解决方案--------------------
DECLARE @a VARCHAR(20)
SET @a='2013-08'
SET @a=@a+'-25'
SELECT CONVERT(VARCHAR(30),DATEADD(mm,-1,@a)+1,23) AS '开始日期'

where data_month BETWEEN CONVERT(VARCHAR(30),DATEADD(mm,-1,@a)+1,23) AND @a

------解决方案--------------------
declare @m char(7)
set @m='2013-08'
where data_month BETWEEN convert(char(7),dateadd(mm,-1,@m+'-01'),20)+'-26' AND @m+'-25'