SELECT SUM(al_Amount) AS SumAmount
FROM tablename
WHERE (al_Date BETWEEN '2005-11-18' AND '2005-12-25') OR
(al_Date BETWEEN '2005-05-10' AND '2005-08-20') [OR (...) ...]
FROM tablename
WHERE (al_Date BETWEEN '2005-11-18' AND '2005-12-25') OR
(al_Date BETWEEN '2005-05-10' AND '2005-08-20') [OR (...) ...]
set @Time1='2005-11-18'
set @Time2='2005-12-25'
select sum(al_Amount) as al_Amount from 表 where between @Time1 and @Time2
CREATE PROCEDURE Temp_T(@Time1 datetime,@Time2 datetime)
as
select sum(al_Amount) as al_Amount from 表 where al_Date between @Time1 and @Time2
请看清题目
要得出任意时间段的求和
如
时间段1:
时间段2
时间段n存储过程不太可行,因为日期是不定的,需要用数据的变通方法
CONVERT(SMALLDATETIME,'2005-07-10') UNION
SELECT SUM(cs_Amount) AS al_Amount FROM [tb_Corp_Sale] WHERE cs_CreateDate BETWEEN CONVERT(SMALLDATETIME,'2005-07-10') AND
CONVERT(SMALLDATETIME,'2005-07-19')
SELECT SUM(cs_Amount) AS al_Amount FROM [tb_Corp_Sale] WHERE cs_CreateDate BETWEEN CONVERT(SMALLDATETIME,'2005-09-10') AND
CONVERT(SMALLDATETIME,'2005-09-22')
SELECT SUM(cs_Amount) AS al_Amount FROM [tb_Corp_Sale] WHERE cs_CreateDate BETWEEN CONVERT(SMALLDATETIME,'2005-10-1') AND
CONVERT(SMALLDATETIME,'2005-11-2')
SELECT SUM(cs_Amount) AS al_Amount FROM [tb_Corp_Sale] WHERE cs_CreateDate BETWEEN CONVERT(SMALLDATETIME,'2005-11-9') AND
CONVERT(SMALLDATETIME,'2005-12-3')用这种方式查询得出结果
但好像不太对