请高手看看我的查询语句怎么了???

来源:百度知道 编辑:UC知道 时间:2024/06/19 07:17:44
我写了简单的查询语句,检测convert(int,right(rand(),2))是否能生成0-99之间的随机数,我觉得print @num
的结果应该是50左右,可是实际上总是0,为什么???
declare @k int;
declare @i int;
declare @num int;

set @num=0;
while(@i<100)
begin

set @k=convert(int,right(rand(),2));
if(@k<50)set @num=@num+1;

set @i=@i+1;
end;
print @num

看了一下,原因是没有给i赋值
declare @k int;
declare @i int;
declare @num int;

set @num=0;
set @i=0;
while(@i<100)
begin
set @k=convert(int,right(rand(),2));

if(@k<50)
begin
set @num=@num+1;
end
set @i=@i+1;
end;
print @num
这样就行了,你原来不给分啊,汗!