读书人

怎在已知月的基上查上月的是

发布时间: 2012-03-14 12:01:12 作者: rapoo

怎在已知月的基上查上月的,是不是的
SELECT *, CAST(CAST(sum1 / sum2 * 100 AS decimal(10, 2)) AS varchar(10))
+ '% ' AS sum12
FROM (SELECT *
FROM (SELECT SUM(subqty) AS sum1
FROM dbo.suboqa
WHERE checkdate > = @starttime AND
checkdate <= @endtime AND resultd = 1) a JOIN
(SELECT SUM(subqty) AS sum2
FROM dbo.suboqa


WHERE checkdate > = @starttime AND
checkdate <= @endtime) b ON 1 = 1) c
UNION ALL
(SELECT *, CAST(CAST(sum1 / sum2 * 100 AS decimal(10, 2)) AS varchar(10))
+ '% ' AS sum12
FROM (SELECT *
FROM (SELECT SUM(subqty) AS sum1
FROM dbo.suboqa
WHERE checkdate > = dateadd(day, - 30, @starttime) AND
checkdate <= dateadd(day, - 30, @endtime) AND


resultd = 1) a JOIN
(SELECT SUM(subqty) AS sum2
FROM dbo.suboqa
WHERE checkdate > = dateadd(day, - 30, @starttime) AND
checkdate <= dateadd(day, - 30, @endtime)) b ON
1 = 1) c)






[解决办法]
create proc test_p @year int,@month int
as
declare @dt datetime
set @dt=rtrim(@year)+right(100+@month-1,2)+ '01 '
select * from 表名
where 时间列 between CONVERT(datetime,CONVERT(char(8),@dt,120)+ '1 ') and
DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+ '1 ')+ ' 23:59:59 '

读书人网 >SQL Server

热点推荐