高手进来看一下

zq102605 2007-12-04 05:39:34
CREATE proc proc_Zltj
(
@所属 varchar(40),
@开始时间 datetime,
@结束时间 datetime
)
as
begin


select a. BusinessUnitIdName as 所属 ,a.CreatedByName as 负责人, b.[客户更新量], b.[客户增量],c.潜在客户更新量,c.潜在客户增量

from 客户统计人员列表 a inner join

(select 负责人,[客户更新量] = sum(case when 修改时间 between @开始时间 and @结束时间 then 1 else 0 end ),
[客户增量] = sum(case when 添加时间 between @开始时间 and @结束时间 then 1 else 0 end )
from 所有客户 group by 负责人) b on a.CreatedByName=b.负责人
inner join
(select 负责人, [潜在客户更新量] = sum(case when 修改时间 between @开始时间 and @结束时间 then 1 else 0 end ),
[潜在客户增量] = sum(case when 添加时间 between @开始时间 and @结束时间 then 1 else 0 end )
from 所有潜在客户 group by 负责人) c on a.CreatedByName=c.负责人
where BusinessUnitIdName=@所属
end
GO

我想查询的是 @开始时间 与 @结束时间 之前的结果
但现在between 好像不包括@开始时间 与 @结束时间
也就是 between 2007-12-4 and 2007-12-4 是查不出结果的?
什么原因?怎么改?
...全文
78 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rouqu 2007-12-04
  • 打赏
  • 举报
回复
coln between a and b 也就是 coln>=a & coln<=b
青锋-SS 2007-12-04
  • 打赏
  • 举报
回复
添加时间 between @开始时间 and @结束时间

---------
改成这样试试(示意)

datediff(d,@开始时间,添加时间)>=0 and datediff(d,添加时间,@结束时间)>=0
utpcb 2007-12-04
  • 打赏
  • 举报
回复
你的时间是不是在 2007-12-4 00:00:00分之间啊 你的修改时间的分钟当然不会是 00:00:00 这样当然没结果!如果你只有这种格式的话 2007-12-4 系统会把 这个转化为 2007-12-4 00:00:00 最后你不要用中文做参数 !

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧