sql case语句的问题
想对周数计数
计算一段时间内,周一多少,周二多少,周三多少……
select @weday=DateName(dw,@time)
case @weday
when '1' then set @pro_1 = @pro_1 + 1
when '2' then set @pro_2 = @pro_2 + 1
when '3' then set @pro_3 = @pro_3 + 1
when '4' then set @pro_4 = @pro_3 + 1
when '5' then set @pro_5 = @pro_5 + 1
when '6' then set @pro_6 = @pro_6 + 1
when '7' then set @pro_7 = @pro_7 + 1
end
这段代码有问题,请问怎么实现?
谢谢
计算一段时间内,周一多少,周二多少,周三多少……
select @weday=DateName(dw,@time)
case @weday
when '1' then set @pro_1 = @pro_1 + 1
when '2' then set @pro_2 = @pro_2 + 1
when '3' then set @pro_3 = @pro_3 + 1
when '4' then set @pro_4 = @pro_3 + 1
when '5' then set @pro_5 = @pro_5 + 1
when '6' then set @pro_6 = @pro_6 + 1
when '7' then set @pro_7 = @pro_7 + 1
end
这段代码有问题,请问怎么实现?
谢谢
作者: csdlinux 发布时间: 2011-06-10
@pro_1是累计周一的次数,@pro_2是累计周二的次数……
作者: csdlinux 发布时间: 2011-06-10
有问题, set 不能放在case when里面。
作者: maco_wang 发布时间: 2011-06-10
SQL code
select @weday=DateName(dw,@time) @pro_1 = (case when @weday = '1' then @pro_1 + 1 else @pro_1 end), @pro_2 = (case when @weday = '2' then @pro_2 + 1 else @pro_2 end), @pro_3 = (case when @weday = '3' then @pro_3 + 1 else @pro_3 end), @pro_4 = (case when @weday = '4' then @pro_4 + 1 else @pro_4 end), @pro_5 = (case when @weday = '5' then @pro_5 + 1 else @pro_5 end), @pro_6 = (case when @weday = '6' then @pro_6 + 1 else @pro_6 end), @pro_7 = (case when @weday = '7' then @pro_7 + 1 else @pro_7 end)
作者: abcjun188 发布时间: 2011-06-10